获取 zookeeper 集群状态

获取 zookeeper 集群状态

是否有 CLI 或命令行,我可以使用它们来查找 Zookeeper 集群状态。基本上我想知道如何加入集群或哪些节点充当领导者。

任何指点都会有帮助。

在stackoverflow上看到这个问题:https://stackoverflow.com/questions/16669104/how-to-get-current-zookeeper-clusters-member-server-list,但没有帮助

答案1

您可以通过输入以下命令来确定哪个节点充当领导:

echo stat | nc localhost 2181 | grep Mode

如果该节点充当领导者,您将收到响应:

Mode: leader

如果是关注者,你会看到:

Mode: follower

或者,您可以使用位于 /opt/zookeeper/bin 的 zkServer.sh:

./zkServer.sh status

其输出为:

ZooKeeper JMX enabled by default
Using config: /opt/zookeeper/bin/../conf/zoo.cfg
Mode: follower

您可以使用以下方式获取更多信息:

echo mntr | nc localhost 2181

其输出为:

zk_version      3.4.8--1, built on 02/06/2016 03:18 GMT
zk_avg_latency  0
zk_max_latency  0
zk_min_latency  0
zk_packets_received     7
zk_packets_sent 6
zk_num_alive_connections        2
zk_outstanding_requests 0
zk_server_state follower
zk_znode_count  357
zk_watch_count  0
zk_ephemerals_count     5
zk_approximate_data_size        846524
zk_open_file_descriptor_count   36
zk_max_file_descriptor_count    4096

如果该节点是领导节点,您还将看到:

zk_followers    5
zk_synced_followers     5
zk_pending_syncs        0

Windows 平台上不会出现以下内容:

zk_open_file_descriptor_count   43
zk_max_file_descriptor_count    4096

使用以上信息,您可以确定 Zookeeper 集合的健康状况。

相关内容