2017-03-13 94 views
0

我是hadoop的新手。 我在cloudera环境中练习hadoop。 我想用mySql(它是预先安装在cloudera中)连接到远程服务器,但它没有连接。如何使用CentOS中的MySql连接到远程服务器?

其实我的主要目的是通过使用Sqoop从远程服务器导入数据并将其存储在HDFS位置来运行作业。但得到错误的

Communication link failure 

所以,首先我想与MySQL的帮助连接,但这里也 得到错误的无法连接到服务器。

mysql -u "username" -h "xxx.xxx.xx.xxx(ip address)" -p 

它没有连接。给错误消息

Error: Unable to connect to mysql server "xxx.xx.xxx.xx" 

如果我尝试连接到本地主机它的工作好,

mysql -u root -p 

我应该要做的配置文件中的任何改变连接到远程服务器从导入数据的数据库通过Sqoop传输到HDFS。

任何人都可以请建议我如何通过从centOs使用mysql连接到远程服务器 - Cloudera环境。

+0

1.这不是一个真正的sw开发相关的问题,这是纯粹的DBA/sysadmin的东西。 2.通常,目标环境需要配置为接受来自远程主机的连接,而不是相反。 – Shadow

回答

0

如果我理解正确的:

当你连接到你的MySQL服务器在本地与 mysql -u root -p它的工作原理
  • 当你从它不工作
远程服务器连接到同一台服务器

如果这是你的问题,你最有可能需要编辑MySQL服务器上的文件/etc/mysql/my.cnf,并在bind-address=[public_ip]中添加公共服务器IP并重新启动MySQL。

您还需要确保允许用户远程访问服务器,否则您将不得不创建远程用户。你可以看到用户和他们的允许产地来源:

SELECT Host, User FROM mysql.user; 

最后,你可能有一个防火墙(象ufw)服务器上阻止你从远程访问MySQL的端口(默认情况下3306)。如果是这种情况,则需要允许来自防火墙中远程服务器的连接。