我是靠谱客的博主 紧张苗条,这篇文章主要介绍解决Failed to start namenode: Cannot assign requested address,现在分享给大家,希望可以做个参考。

尝试在云服务器上多节点安装 hadoop,在我node1的 start-dfs.sh 命令上,datanode正在启动,但namenode无法启动并出现以下错误

2022-05-09 16:37:45,820 ERROR org.apache.hadoop.hdfs.server.namenode.NameNode: Failed to start namenode.
java.net.BindException: Problem binding to [node1:8020] java.net.BindException: Cannot assign requested address; For more details see:  http://wiki.apache.org/hadoop/BindException
        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
        at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
        at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
        at org.apache.hadoop.net.NetUtils.wrapWithMessage(NetUtils.java:837)
        at org.apache.hadoop.net.NetUtils.wrapException(NetUtils.java:738)
        at org.apache.hadoop.ipc.Server.bind(Server.java:640)
        at org.apache.hadoop.ipc.Server$Listener.<init>(Server.java:1210)
        at org.apache.hadoop.ipc.Server.<init>(Server.java:3103)
        at org.apache.hadoop.ipc.RPC$Server.<init>(RPC.java:1039)
        at org.apache.hadoop.ipc.ProtobufRpcEngine2$Server.<init>(ProtobufRpcEngine2.java:430)
        at org.apache.hadoop.ipc.ProtobufRpcEngine2.getServer(ProtobufRpcEngine2.java:350)
        at org.apache.hadoop.ipc.RPC$Builder.build(RPC.java:848)
        at org.apache.hadoop.hdfs.server.namenode.NameNodeRpcServer.<init>(NameNodeRpcServer.java:475)
        at org.apache.hadoop.hdfs.server.namenode.NameNode.createRpcServer(NameNode.java:857)
        at org.apache.hadoop.hdfs.server.namenode.NameNode.initialize(NameNode.java:763)
        at org.apache.hadoop.hdfs.server.namenode.NameNode.<init>(NameNode.java:1014)
        at org.apache.hadoop.hdfs.server.namenode.NameNode.<init>(NameNode.java:987)
        at org.apache.hadoop.hdfs.server.namenode.NameNode.createNameNode(NameNode.java:1756)
        at org.apache.hadoop.hdfs.server.namenode.NameNode.main(NameNode.java:1821)
Caused by: java.net.BindException: Cannot assign requested address
        at sun.nio.ch.Net.bind0(Native Method)
        at sun.nio.ch.Net.bind(Net.java:433)
        at sun.nio.ch.Net.bind(Net.java:425)
        at sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:223)
        at sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:74)
        at org.apache.hadoop.ipc.Server.bind(Server.java:623)
        ... 13 more
2022-05-09 16:37:45,824 INFO org.apache.hadoop.util.ExitUtil: Exiting with status 1: java.net.BindException: Problem binding to [node1:8020] java.net.BindException: Cannot assign requested address; For more details see:  http://wiki.apache.org/hadoop/BindException
2022-05-09 16:37:45,827 INFO org.apache.hadoop.hdfs.server.namenode.NameNode: SHUTDOWN_MSG: 
/************************************************************
SHUTDOWN_MSG: Shutting down NameNode at node1/106.13.225.126
************************************************************/

问题出在云服务器上,它不允许绑定公网IP地址,它只允许绑定内网 IP地址。

新的/etc/hosts

内网IP地址  你的hostname
公网IP地址  别的hostname

最后

以上就是紧张苗条最近收集整理的关于解决Failed to start namenode: Cannot assign requested address的全部内容,更多相关解决Failed内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(126)

评论列表共有 0 条评论

立即
投稿
返回
顶部