全部学科
NodeJS全栈
nodejs
Python全栈
python
小程序首页
📅 2026-05-24 10 分钟 ✍️ juanwangdev

ZooKeeper集群部署指南

集群模式保证高可用,生产环境必须使用。

集群模式部署

集群规模要求

规则说明
最小节点数3节点
奇数原则推荐3、5、7节点
过半机制过半节点存活即可服务

部署规划

properties
节点1: server1:2181 (Leader或Follower)
节点2: server2:2181 (Leader或Follower)
节点3: server3:2181 (Leader或Follower)

配置文件示例

Bash
# zoo.cfg(所有节点相同)
tickTime=2000
dataDir=/var/lib/zookeeper
clientPort=2181
initLimit=10
syncLimit=5

# 集群节点配置
server.1=server1:2888:3888
server.2=server2:2888:3888
server.3=server3:2888:3888

集群配置格式

Bash
server.N=host:port1:port2
N: myid编号
host: 节点主机地址
port1: Leader-Follower通信端口
port2: Leader选举端口

创建myid文件

Bash
# 每个节点创建对应编号的myid
# 节点1
echo "1" > /var/lib/zookeeper/myid

# 节点2
echo "2" > /var/lib/zookeeper/myid

# 节点3
echo "3" > /var/lib/zookeeper/myid

部署流程

Bash
1. 各节点安装ZooKeeper
2. 配置相同的zoo.cfg
3. 各节点创建唯一myid
4. 依次启动各节点
5. 验证集群状态

注意:myid必须与server.N配置中的N对应。

启动与停止服务

启动集群

Bash
# 各节点依次启动
# 节点1
zkServer.sh start

# 节点2
zkServer.sh start

# 节点3
zkServer.sh start

查看状态

Bash
# 查看角色
zkServer.sh status

# 输出示例
Mode: leader    <- Leader节点
Mode: follower  <- Follower节点

四字命令检测

text
# 查看详细状态
echo stat | nc server1 2181

# 输出关键信息
Mode: follower
Zxid: 0x100000005
Connections: 10

停止服务

text
# 停止节点
zkServer.sh stop

# 重启节点
zkServer.sh restart

健康检查脚本

text
#!/bin/bash
# 检查集群各节点状态
for host in server1 server2 server3; do
    echo "Checking $host..."
    echo stat | nc $host 2181 | grep Mode
done

常见问题

问题解决
启动失败检查myid是否存在
无法选举Leader检查网络连通性
状态不一致检查配置文件是否相同

提示:生产环境建议使用systemd或supervisor管理服务。

要点总结

  • 集群至少3节点,推荐奇数节点
  • server.N配置节点地址和端口
  • myid文件标识节点身份,必须与配置对应
  • zkServer.sh status查看Leader/Follower角色
  • stat四字命令检测节点详细状态
  • 生产环境用进程管理工具托管服务

📝 发现内容有误?点击此处直接编辑

← 上一篇 ZooKeeper安装部署实战
下一篇 → ZooKeeper节点操作命令
想查看更多题目和详细解析?
小程序提供完整的题库、模拟考试和详细解析
马上就来

长按或扫描二维码,立即体验

扫码体验小程序
马上就来
使用微信扫描二维码
立即体验完整题库