首页/ 学科题库/ zookeeper/ ZooKeeper集群部署指南
zookeeper 实战教程

ZooKeeper集群部署指南

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四字命令检测节点详细状态
  • 生产环境用进程管理工具托管服务
想在手机上练这篇的配套题目?
使用微信 卷王开发者小程序/App,首页顶部扫一扫识别下方二维码,即可解锁本讲对应真题与错题本。
了解产品 App
← 上一篇 ZooKeeper安装部署实战 下一篇 → ZooKeeper节点类型详解