Есть ли cli или какая-то командная строка, которую я могу использовать для определения статуса кластера zookeeper. В основном я хочу знать, как войти в кластер или какие узлы действуют в качестве лидера.
Любые указатели будут полезны.
Видел этот вопрос в stackoverflow: https://stackoverflow.com/questions/16669104/how-to-get-current-zookeeper-clusters-member-server-list, но не помогло
Вы можете определить, какой узел выступает в качестве лидера, введя следующую команду:
echo stat | nc localhost 2181 | grep Mode
Вы получите ответ, если узел выступает в роли лидера:
Mode: leader
Если это подписчик, вы увидите:
Mode: follower
В качестве альтернативы вы можете использовать zkServer.sh, расположенный в / opt / zookeeper / bin:
./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.