hadoop 开始时间datanode一个错误 Problem connecting to server

时间:2024-04-11 20:33:29

刚刚配置hadoop,namenode常开,但datanode但保留了错误。但不启动:

2014-05-04 10:43:33,970 WARNorg.apache.hadoop.hdfs.server.datanode.DataNode: Problem connecting to server:hadoop1/192.168.10.22:9000

2014-05-04 10:43:55,009 INFOorg.apache.hadoop.ipc.Client: Retrying connect to server:hadoop1/192.168.10.22:9000. Already tried 0 time(s); retry policy isRetryUpToMaximumCountWithFixedSleep(maxRetries=10, sleepTime=1 SECONDS)

2014-05-04 10:43:56,012 INFOorg.apache.hadoop.ipc.Client: Retrying connect to server:hadoop1/192.168.10.22:9000. Already tried 1 time(s); retry policy isRetryUpToMaximumCountWithFixedSleep(maxRetries=10, sleepTime=1 SECONDS)

假设你已经检查了datanode以及namenode的连通性,ip都正确,可是仍然没法解决这个问题。那么能够接着往下看了。

事实上根本原因还是无法连接到192.168.10.22:9000 对应ip的对应port。

查看一下namenode的port坚挺情况:

[hdp@hadoop1 sbin]$ netstat -an | grep 9000

tcp        0      0 127.0.0.1:9000              0.0.0.0:*                   LISTEN

tcp        0     0 127.0.0.1:37072            127.0.0.1:9000             TIME_WAIT 
 

事实上问题就再这里。hadoop启动的时候仅仅监听了127.0.0.1一个port,而不是192.168.10.22:9000。这样的情况下,也就仅仅有本机才干联通127.0.0.1:9000了。

看来是ip解析的问题。看一下namenode的hosts文件(仅仅列出了重要部分):

127.0.0.1              hadoop1localhost.localdomainlocalhost

::1            localhost6.localdomain6 localhost6

事实上主要问题就在标红的部分,仅仅要将hadoop1去掉就可以。

重新启动hdfs后检查一下port监听情况:

[root@hadoop1 network-scripts]# netstat -an | grep 9000

tcp        0      0 192.168.10.22:9000          0.0.0.0:*                   LISTEN

tcp        0      0 192.168.10.22:9000          192.168.10.24:51040         ESTABLISHED

tcp        0      0 192.168.10.22:41116         192.168.10.22:9000          TIME_WAIT

tcp        0      0 192.168.10.22:9000          192.168.10.23:46070         ESTABLISHED

改动后datanode它将能够正确连接namenode该。

版权声明:本文博主原创文章,博客,未经同意不得转载。