是否有 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 集合的健康状况。