datanode无法连接到namenode

datanode无法连接到namenode

namenode在清空hadoop.tmp.dir和namenode.dir文件夹重新格式化后,datanode还是无法连接到namenode并报错:
hdfs.server.datanode.DataNode: Problem connecting to server: ligfoo/192.168.80.11:900090f4fddd6d59819550c48294ff170395.png

datanode无法连接到namenode提供的通讯地址,但是ip和端口都是配置正确的。
这时候应该查看一下namenode的端口是否正在监听,namenode端口监听状况如下:
7ec41606c9c5c0ef0288594a2c9ce677.png
可以看到监听的ip地址为127.0.0.1,而不是namenode的真实ip,所以对于datanode发送过来的报文(ip192.168.80.11)它并不会响应,所以就出现了配置没有错误,但是datanode还是无法连接到namenode的情况。
下一步我们要做的就是修改/etc/hosts里ip和主机的映射情况

c5280151ece9655cad4048e23de19062.png


这里127.0.0.1对应的主机名正常情况下应该是locahost,
但是这次我安装系统时设置了主机名,所以这里变成了ligfoo。
我们要把主机名ligfoo改成localhost,这样namenode时就会使用core-site.xml中配置的主机名来监听了。


另外一种做法是直接将127.0.0.1和::1的回环ip注销,但是这样做的话,使用localhost就不会得到响应。

现在再次使用start-dfs.sh启动hadoop即可。

posted @ 2019-08-24 17:10 ligfoo 阅读(...) 评论(...) 编辑 收藏