记一次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集群的上下文中共同作用,‌确保集群的正确运行和服务器之间的通信

相关推荐
爱打lan球的程序员3 小时前
redis分布式锁和lua脚本
数据库·redis·分布式
大江东去了吗6 小时前
k8s HPA
云原生·容器·kubernetes
Watermelo6178 小时前
在线编程实现!如何在Java后端通过DockerClient操作Docker生成python环境
java·spring boot·docker·微服务·云原生·容器·devops
码农阿豪9 小时前
OpenObserve云原生可观测平台本地Docker部署与远程访问实战教程
docker·云原生·容器
是芽芽哩!9 小时前
【Kubernetes】常见面试题汇总(五)
云原生·容器·kubernetes
流烟默10 小时前
Kafka【十三】消费者消费消息的偏移量
分布式·kafka·消费偏移量
Casual_Lei11 小时前
Spark的一些高级用法
大数据·分布式·spark
OpenPie|拓数派13 小时前
基于云原生向量数据库 PieCloudVector 的 RAG 实践
云原生·向量数据库·pieclouddb·openpie·piecloudvector
Akamai中国14 小时前
如何通过Autoscaler实现Kubernetes的伸缩?
云原生·容器·kubernetes·云计算·云服务·akamai·linode
安科瑞蒋静14 小时前
安科瑞Acrel-1000DP分布式光伏监控系统平台的设计与应用-安科瑞 蒋静
分布式