Hadoop分布式集群部署排错: failed on connection exception: java.net.ConnectException: 拒绝连接

大数据 帅哥 1252℃

部署hadoop分布式集群环境时出现两个datanode节点无法注册到namenode的现象,jps看datanode几个节点启动正常。只有和namenode相同服务器的datanode注册成功。

在主节点执行:hdfs dfsadmin -report ,显示Live Datanodes (1)

在其它datanode节点执行hdfs dfsadmin -report,显示如下

report: Call From server01/127.0.0.1 to server01:8020 failed on connection exception: java.net.ConnectException: 拒绝连接; For more details see: http://wiki.apache.org/hadoop/ConnectionRefused

查看datanode的日志中出现

WARN org.apache.hadoop.hdfs.server.datanode.DataNode: Block pool ID needed, but service not yet registered with NN。

netstat 查看namenode的8082端口处于监听状态。

网上找到的各种文章说的可能性全部排除,仍然不能解决这个问题。经过所有配置文件重新检查N次以后,查看namenode日志,最后注意到了这个“server01/127.0.0.1 ”反复出现。 为什么不是真IP而是本地回环地址呢? 查看/etc/hosts文件,发现对应server01的IP地址配置有两部分,一部分是

127.0.0.1 localhost

127.0.0.1 server01

另外下面还有

192.168.227.101 server01

192.168.227.102 server02

192.168.227.103 server03

在一个主机名有两个地址的情况下,默认的是127的IP,导致8020端口监听的是127.0.0.1,删除这一条配置后,重启启动start-all.sh, 奇迹出现了,8020端口监听的是真IP了,问题解决~

转载请注明:开发者驿站 » Hadoop分布式集群部署排错: failed on connection exception: java.net.ConnectException: 拒绝连接

喜欢 (0)or分享 (0)