如何验证zookeeper仲裁

时间:2015-12-30 21:29:49

标签: apache-zookeeper

如何验证zookeeper中的所有节点是否为仲裁的一部分且健康? Manual谈论“ruok”,但是仍然没有说动物园管理员节点是否是法定人数的一部分并且与其他节点保持同步。

1 个答案:

答案 0 :(得分:6)

您可以使用The Four Letter Words中记录的srvr命令获取有关集合中每个ZooKeeper服务器的更详细状态信息。请参阅下面的3节点集群的示例输出,主机名为ubuntu1,ubuntu2和ubuntu3。

“模式”字段将告诉您该特定服务器是领导者还是关注者。 Zxid字段是指ZooKeeper集群的内部事务ID,用于跟踪对znode树的状态更改。在健康的群集中,您将看到一个领导者,多个粉丝,并且所有节点通常在zxid值中彼此接近。

> for x in ubuntu1 ubuntu2 ubuntu3; do echo $x; echo srvr|nc $x 2181; echo; done
ubuntu1
Zookeeper version: 3.4.7-1713338, built on 11/09/2015 04:32 GMT
Latency min/avg/max: 3/9/21
Received: 9
Sent: 8
Connections: 1
Outstanding: 0
Zxid: 0x100000004
Mode: follower
Node count: 6

ubuntu2
Zookeeper version: 3.4.7-1713338, built on 11/09/2015 04:32 GMT
Latency min/avg/max: 0/0/0
Received: 2
Sent: 1
Connections: 1
Outstanding: 0
Zxid: 0x100000004
Mode: leader
Node count: 6

ubuntu3
Zookeeper version: 3.4.7-1713338, built on 11/09/2015 04:32 GMT
Latency min/avg/max: 0/0/0
Received: 2
Sent: 1
Connections: 1
Outstanding: 0
Zxid: 0x100000004
Mode: follower
Node count: 6