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即可。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM