Zookeeper集群间3888端口拒绝连接
Zookeeper集群间3888端口拒绝连接症状在华为云服务器上用Ambari 搭Hadoop集群。各个组件启动时候都报连接zookeeper 超时。但是Ambari 里显示zookeeper 状态是正常的。jps各节点也能看到QuorumPeerMain进程。查看zookeeper 日志发现服务间连接3888端口被拒绝。日志如下:2021-03-10 18:07:56,631 - WARN[Qu
·
问题症状
在华为云服务器上用Ambari 搭Hadoop集群。各个组件启动时候都报连接zookeeper 超时。但是Ambari 里显示zookeeper 状态是正常的。jps各节点也能看到QuorumPeerMain进程。查看zookeeper 日志发现服务间连接3888端口被拒绝。日志如下:
2021-03-10 18:07:56,631 - WARN [QuorumPeer[myid=1]/0:0:0:0:0:0:0:0:2181:QuorumCnxManager@584] - Cannot open channel to 2 at election address worker2.hadoop.hdp/192.168.1.88:3888
java.net.ConnectException: Connection refused (Connection refused)
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350)
at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206)
at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
at java.net.Socket.connect(Socket.java:589)
at org.apache.zookeeper.server.quorum.QuorumCnxManager.connectOne(QuorumCnxManager.java:562)
at org.apache.zookeeper.server.quorum.QuorumCnxManager.connectAll(QuorumCnxManager.java:605)
at org.apache.zookeeper.server.quorum.FastLeaderElection.lookForLeader(FastLeaderElection.java:843)
at org.apache.zookeeper.server.quorum.QuorumPeer.run(QuorumPeer.java:876)
问题定位
常见的情况检查了一遍,防火墙firewalls,selinux也都关闭了。各zookeeper的服务的3888端口也正常监听。
网上查了各种情况,一顿操作折腾半天依然不行。
后来一想会不会是zookeeper本身配置了什么,拒绝了外部连接。验证
yum install telnet
telnet 本机ip 3888 #正常连通
telnet 其他机器IP 3888 #连接拒绝。
换其他服务的端口。我整了个nginx,开了8000端口,试了试可以正常连接。到这里基本可以确定是zookeeper 配置的问题。
问题解决
查资料找到,如果是在云服务器上部署的,需要配置quorumListenOnAllIPs=true,用以监听所有网卡,这个和云服务器的一些虚拟技术有关,否则的话会抛异常。
因为用的Ambari 搭建的集群,在Ambari 后台给zoo.cfg增加配置quorumListenOnAllIPs=true。
重启zookeeper 集群,check 问题解决。
更多推荐
已为社区贡献1条内容
所有评论(0)