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 可以解决 。 本人并没有去了解 。 只是提供一个思路。
|