hadoop啟動后發現namenode沒有啟動,網上說的格式化過度的問題我是沒有的,因為我只格式化過一次。之后查看日志
vim /opt/hadoop/logs/namenode對應的log文件
發現
2020-03-03 23:16:21,868 INFO org.apache.hadoop.metrics2.impl.MetricsSystemImpl: NameNode metrics system shutdown complete.
2020-03-03 23:16:21,872 ERROR org.apache.hadoop.hdfs.server.namenode.NameNode: Failed to start namenode.
java.net.BindException: Problem binding to [servera:9000] java.net.BindException: Cannot assign requested address; For more details see: http://wiki.apache.org/hadoop/BindException
意思是說9000端口的問題
我立刻
netstat -a -t --numeric-ports -p
發現9000端口沒有被占用,之后發現是阿里云的問題。
百度了一下阿里的ECS服務器無法綁定公網IP的地址,細心的人應該能發現連接服務器的ip和你連接服務器后,輸入ifconfig顯示的ip地址不一致。
所以要在master下的/etc/hosts 文件中吧它的ip改為內網ip
內網ip master 外網ip work
原文鏈接:https://blog.csdn.net/qq_41037012/article/details/104644972