本文主要是介绍namenode启动失败 。 : Cannot assign requested address,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
Cannot assign requested address
我部署hadoop 格式化后 , start-all.sh . 通过 jps 命令发现 datanode 可以启动 。 然而那么namenode启动失败。
网上找了好多博客贴吧 。
1 有的是ERROR org.apache.hadoop.hdfs.server.namenode.NameNode: Failed to start namenode. java.net.BindException: Problem binding to [vm10-0-0-2:9000] java.net.BindException: Cannot assign requested address; For more details see: http://wiki.apache.org/hadoop/BindException端口号已经被占用 already in use 。 这一类的, 一般是突然断电 类似的, 已经关闭了 ,但是进程没有关闭 。
通过 netstat -antup 查看 , 然后杀死进程重新启动就可以了 。
2 . 再就是 ERROR org.apache.hadoop.hdfs.server.namenode.NameNode: Failed to start namenode. java.net.BindException: Problem binding to [vm10-0-0-2:9000] java.net.BindException: Cannot assign requested address; For more details see: http://wiki.apache.org/hadoop/BindException
Caused by: java.net.BindException: Cannot assign requested address
这种一般就是 hosts 的错误 , 有可能是忘记配置了 , 也可能是配置的不对 。
本人就是配置错误了 , 开始配置的外网 , 就出现了错误
120.93.20.22 master
120.92.16.25 node1
120.92.16.26 node2
就是这种 , java.net.BindException: Cannot assign requested address 这个错误,
发现 可能是因为IP 不在 同一 区域里 应该是 120.93.20.22 其他的 应该是 120.93.20.XXX ,不过由于本人是租用你的服务器,
无法测试,如果你有条件,有需求,可以试一试。
然后 就改成类内网配置
15.0.0.2 master 15.0.0.3 node1 15.0.0.4 node2
这样 就可以了 , 不过这样也就表示如果你不在这一内网中, 就无法访问 web页面 ( master:8080 这种),
不过 好像通过/etc/network/interfaces
可以解决 。 本人并没有去了解 。 只是提供一个思路。
这篇关于namenode启动失败 。 : Cannot assign requested address的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!