老师, 高可用集群的第二个namenode一直启动不起来...
来源:3-5 【实操手册】Hive安装部署
八朔
2020-03-28
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,所以无法绑定
112020-03-29
相似问题