1. 程式人生 > >Hadoop啟動出錯Cannot assign requested address

Hadoop啟動出錯Cannot assign requested address

在騰訊雲上配置hadoop,namenode一直啟動不成功
cat一下日誌,看看發生了什麼事

cat $HADOOP_HOME/logs/hadoop-root-namenode-Namenode.log

發現

2017-04-05 19:29:29,326 FATAL org.apache.hadoop.hdfs.server.namenode.NameNode: Failed to start namenode.
java.net.BindException: Problem binding to [Namenode:9000] java.net.BindException: Cannot assign requested address; For
more details see: http://wiki.apache.org/hadoop/BindException at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)

根據http://wiki.apache.org/hadoop/BindException,以及百度csdn部落格,在stackoverflow上搜索,發現都是端口占用之類的問題。
但是netstat -a | grep 9000發現並不沒有
折騰了很多次,一直以為自己的配置有問題。直到無意中發現,騰訊雲伺服器無法繫結公網IP的地址,即在 /etc/hosts 需要這樣設定

內網IP地址  你的hostname
公網IP地址  別的hostname