Zookeeper 本身是一个 无主架构的分布式协调系统,并不是所有节点都有“Master”的概念。但 Zookeeper 集群内部确实存在一个 Leader 节点,用于处理写请求(如 create、setData、delete),其余为 Follower 或 Observer。
🧠 一些关键点:
✅ 如何查看某个 Zookeeper 节点是否为 Leader(即“master”)
1. 使用四字命令:stat
执行如下命令:
echo stat | nc localhost 2181
或:
echo ruok | nc localhost 2181
输出中关注这部分:
Mode: leader
可能值为:
leader → 当前是 Leader 节点
follower → 当前是 Follower 节点
standalone → 当前是单机模式
observer → 当前是 Observer 节点
2. 脚本方式批量查看集群 Leader 节点
假设你有三个节点:zk1, zk2, zk3:
for host in zk1 zk2 zk3; do
echo -n "$host: "
echo stat | nc $host 2181 | grep Mode
done
输出类似:
zk1: Mode: follower
zk2: Mode: leader
zk3: Mode: follower
for host in zookeeper-cluster-1 zookeeper-cluster-2 zookeeper-cluster-3; do
echo -n "$host: "
echo stat | nc $host 2181 | grep Mode
done
3. 使用 srvr 命令获取更详细状态
echo srvr | nc localhost 2181
输出会包含节点角色、版本等内容。
✅ 结论
Zookeeper 的“master”节点就是指集群中的 Leader,你可以通过 stat 或 srvr 四字命令查看当前节点角色。
评论区