Hadoop之HDFS集群部署遇到的Zookeeper集群部署问题

3 篇文章 0 订阅
1 篇文章 0 订阅

背景

在部署Hadoop的HDFS集群时,需要部署zookeeper集群。在本地虚拟机上启动zookeeper出现以下两个问题。

问题

问题1

Error: Could not find or load main class  org.apache.zookeeper.server.quorum.QuorumPeerMain

原因1

通过github下载的包zookeeper-release-3.4.6.tar.gz,需要去编译才能安装使用。
后从官网下载包apache-zookeeper-3.7.1-bin.tar.gz,直接解压即可使用。

问题2

在本地虚拟机上启动zookeeper

2022-12-27 09:50:16,837 [myid:1] - WARN  [QuorumConnectionThread-[myid=1]-2:QuorumCnxManager@401] - Cannot open channel to 3 at election address node04/192.168.56.13:3888
java.net.ConnectException: Connection refused (Connection refused)
        at java.net.PlainSocketImpl.socketConnect(Native Method)
        at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:476)
        at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:218)
        at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:200)
        at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:394)
        at java.net.Socket.connect(Socket.java:606)
        at org.apache.zookeeper.server.quorum.QuorumCnxManager.initiateConnection(QuorumCnxManager.java:384)
        at org.apache.zookeeper.server.quorum.QuorumCnxManager$QuorumConnectionReqThread.run(QuorumCnxManager.java:458)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
        at java.lang.Thread.run(Thread.java:750)

排查2

  • 检查防火墙firewalld和selinux是否都已经关闭。
  • telnet检查端口3888能否正常访问
yum install telnet
telnet 本机ip 3888 #正常连通
telnet 其他机器IP 3888 #连接拒绝。

解决2

需要在zoo.cfg中配置quorumListenOnAllIPs=true,重新启动,结果正常。

原因2

quorumListenOnAllIPs:
当设置为true时,ZooKeeper服务器将会在所有可用的IP地址上监听来自其对等点的连接请求,而不仅是配置文件的服务器列表中配置的地址。它会影响处理ZAB协议和Fast Leader Election协议的连接。默认值是false。这个和虚拟技术有关,用的是虚拟网卡,所以需要设置quorumListenOnAllIPs=true来监听说有的网卡。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值