记一次zookeeper启动问题

1,背景,部署大数据组件,由于手动部署比较麻烦,所以自己创建脚本部署,启动zookeeper报错
2,报错如下

  2024-08-02 13:45:11,407 [myid:2] - WARN  [QuorumPeer[myid=2](plain=/0:0:0:0:0:0:0:0:2181)(secure=disabled):QuorumCnxManager@679] - Cannot open 
channel to 1 at election address  com85/10.1.1.85: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:650)
        at org.apache.zookeeper.server.quorum.QuorumCnxManager.connectOne(QuorumCnxManager.java:707)
        at org.apache.zookeeper.server.quorum.QuorumCnxManager.connectAll(QuorumCnxManager.java:735)
        at org.apache.zookeeper.server.quorum.FastLeaderElection.lookForLeader(FastLeaderElection.java:910)

3,检查config的配文件置没问题,检查最后发现是

server.1=com85:2888:3888
server.2=com86:2888:3888
server.3=com87:2888:3888
这个里面配置的和myid的不同,com85应该是要配置myid=1,结果配置了2,导致起不来

4,原因
在ZooKeeper集群的配置中,‌myid是每个ZooKeeper服务器节点用来标识自己身份的文件,‌通常位于ZooKeeper的数据目录下的myid文件中。‌这个文件包含一个整数,‌用于标识该服务器在ZooKeeper集群中的唯一标识。‌每个服务器节点都有一个唯一的myid,‌这是集群内部用于识别和通信的基础1。‌

而server.1、‌server.2等是在ZooKeeper的配置文件中定义的,‌用于指定集群中各个服务器的地址和端口。‌这些设置告诉ZooKeeper集群如何找到并与其他服务器通信。‌例如,‌server.1=hadoop3:2888:3888表示编号为1的服务器位于hadoop3主机上,‌该主机用于与其他服务器通信的端口为2888,‌而在选举过程中使用的端口为38881。‌

简而言之,‌myid是每个ZooKeeper服务器节点用来标识自己的内部标识符,‌而server.1等则是配置文件中定义的服务器标识和通信信息,‌两者虽然服务于不同的目的,‌但在ZooKeeper集群的上下文中共同作用,‌确保集群的正确运行和服务器之间的通信

  • 5
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值