请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

老师, 高可用集群的第二个namenode一直启动不起来...



2020-03-28 15:52:23,154 FATAL org.apache.hadoop.hdfs.server.namenode.NameNode: Exception in namenode join
java.net.BindException: Problem binding to [bigdata-pro01.kfk.com:9000] java.net.BindException: Cannot assign requested address; For more details see:  http://wiki.apache.org/hadoop/BindException
        at org.apache.hadoop.net.NetUtils.wrapException(NetUtils.java:719)
        at org.apache.hadoop.ipc.Server.bind(Server.java:419)
        at org.apache.hadoop.ipc.Server$Listener.<init>(Server.java:561)
        at org.apache.hadoop.ipc.Server.<init>(Server.java:2166)
        at org.apache.hadoop.ipc.RPC$Server.<init>(RPC.java:897)
        at org.apache.hadoop.ipc.ProtobufRpcEngine$Server.<init>(ProtobufRpcEngine.java:505)
        at org.apache.hadoop.ipc.ProtobufRpcEngine.getServer(ProtobufRpcEngine.java:480)
        at org.apache.hadoop.ipc.RPC$Builder.build(RPC.java:742)
        at org.apache.hadoop.hdfs.server.namenode.NameNodeRpcServer.<init>(NameNodeRpcServer.java:311)
        at org.apache.hadoop.hdfs.server.namenode.NameNode.createRpcServer(NameNode.java:614)
        at org.apache.hadoop.hdfs.server.namenode.NameNode.initialize(NameNode.java:587)
        at org.apache.hadoop.hdfs.server.namenode.NameNode.<init>(NameNode.java:751)
        at org.apache.hadoop.hdfs.server.namenode.NameNode.<init>(NameNode.java:735)
        at org.apache.hadoop.hdfs.server.namenode.NameNode.createNameNode(NameNode.java:1407)
        at org.apache.hadoop.hdfs.server.namenode.NameNode.main(NameNode.java:1473)
2020-03-28 15:52:23,156 INFO org.apache.hadoop.util.ExitUtil: Exiting with status 1
2020-03-28 15:52:23,160 INFO org.apache.hadoop.hdfs.server.namenode.NameNode: SHUTDOWN_MSG: 

第一台namenode可用启动, 第二台启动的时候就报这个错, 一直启动不起来…
官网显示这个错误原因是

BindException
如果机器上的套接字已经在使用中,并且服务(NameNode,JobTracker,DataNode,TaskTracker,HTTP Server等)尝试在该端口上创建排序以侦听传入的请求,则可以获取BindException 。java.net.BindException: Address already in use

可能的原因

端口正在使用(最可能)
如果端口号低于1024,则操作系统可能会阻止您的程序绑定到“受信任的端口”
如果配置是一个hostname:port值,则可能是主机名错误-或它的IP地址不是您的计算机拥有的IP地址。
服务已经有一个实例正在运行。
如果您在EC2上运行,则您的服务尝试使用公用主机名或IP显式绑定公用弹性IP地址,或隐式使用“ 0.0.0.0”作为地址。
如果端口为“ 0”,则操作系统正在寻找任何空闲端口-因此,正在使用的端口和低于1024的端口的问题极不可能是导致此问题的原因。主机名混乱和网络设置是可能的原因。

由于您不能在一个TCP端口上侦听多个进程,因此侦听将停止正在启动的服务。您将需要跟踪并停止该过程,或者更改要尝试启动的服务以侦听其他端口。

是端口被占用了吗? 我如何知道哪些是我需要用的端口呢?



Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
tcp        0      0 localhost:631           0.0.0.0:*               LISTEN      1101/cupsd          
tcp        0      0 localhost:25            0.0.0.0:*               LISTEN      1283/master         
tcp        0      0 0.0.0.0:8480            0.0.0.0:*               LISTEN      2371/java           
tcp        0      0 0.0.0.0:8485            0.0.0.0:*               LISTEN      2371/java           
tcp        0      0 0.0.0.0:111             0.0.0.0:*               LISTEN      1/systemd           
tcp        0      0 bigdata-pro02.kfk.co:53 0.0.0.0:*               LISTEN      1638/dnsmasq        
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      1106/sshd           
tcp        0     52 bigdata-pro02.kfk.co:22 192.168.50.150:7879     ESTABLISHED 2113/sshd: sun01 [p 
tcp6       0      0 localhost:631           [::]:*                  LISTEN      1101/cupsd          
tcp6       0      0 localhost:25            [::]:*                  LISTEN      1283/master         
tcp6       0      0 [::]:111                [::]:*                  LISTEN      1/systemd           
tcp6       0      0 [::]:22                 [::]:*                  LISTEN      1106/sshd

正在回答

1回答

检查一下你的hostname和配置。   看错误像是不认识这个hostname,所以无法绑定

1 回复 有任何疑惑可以回复我~
  • 提问者 八朔 #1
    找到原因了..我没把配置分发到其他节点上........
    回复 有任何疑惑可以回复我~ 2020-03-29 21:16:13
问题已解决,确定采纳
还有疑问,暂不采纳
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号