在使用云服务器进行hadoop集群完全分布式搭建的时,遇到了namenode初始化成功但无法启动的情况,查看log日志发现一下错误:
java.net.BindException: Problem binding to [master:9000] java.net.BindException: Cannot assign requested address; For more details see: http://wiki.apache.org/hadoop/BindException
通过对网上资料及博客的查阅发现是云服务器中只有一块内网网卡,外网地址不是直接配置在云服务器中,程序无法绑定公网IP地址,所以需要对/etc/hosts文件进行修改,如下。
本机内网IP 本机hostname
其他服务器外网IP 其他服务器hostname