记一次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 小时前
01| 裸机部署 K8S:从零搭建生产可用集群
云原生·kubernetes
樱花落木兰7 小时前
分布式登录实战:Session 会话共享改造,Redis 存储用户登录状态
java·javascript·数据库·redis·分布式·缓存
ShineWinsu7 小时前
对于Redis:Steam、Geospatial、Hyperloglog、Bitmap、Bitfield类型的解析
数据库·c++·redis·分布式·缓存·面试·zset
念何架构之路8 小时前
zap WriteSyncer与Sink体系
云原生·golang
EatFan12 小时前
从云原生到AI原生:2026后端架构“三驾马车”(事件驱动、虚拟线程、AI Agent内嵌)演进解析
spring boot·云原生·架构·虚拟线程·ai-native·ai agent·spring ai
wzq11_66612 小时前
Kubernetes集群——Service篇(详细讲解!!!)
云原生·容器·kubernetes
Flynt1 天前
Redis Cluster主节点挂了,为什么"高可用"还全员掉线?我把三次kill的记录翻出来了
数据库·redis·分布式
JosieBook1 天前
【数据库】MySQL 实战精通系列 · 第10篇:分库分表与分布式事务实战
数据库·分布式·mysql
梦帮科技1 天前
vLLM / TensorRT-LLM 极限推理:PagedAttention 细粒度物理页表管理与连续批处理(Continuous Batching)实战
数据结构·人工智能·分布式·python·深度学习·算法·vllm
Henry-SAP1 天前
SAP MRP失效根源业务角度解析
人工智能·云原生·sap·erp