ZooKeeperサーバーがリーダーかフォロワーかを確認するには、どのコマンドを発行する必要がありますか?


23

3つのZooKeeperサーバーで構成されるZooKeeper Quorumが作成されました。

zoo.cfg次のように3つのすべてのZooKeeperサーバのルックスにあります:

maxClientCnxns=50
# The number of milliseconds of each tick
tickTime=2000
# The number of ticks that the initial
# synchronization phase can take
initLimit=10
# The number of ticks that can pass between
# sending a request and getting an acknowledgement
syncLimit=5
# the directory where the snapshot is stored.
dataDir=/var/lib/zookeeper
# the port at which the clients will connect
clientPort=2181

server.1=<ip-address-1>:2888:3888
server.2=<ip-address-2>:2888:3888
server.3=<ip-address-3>:2888:3888

分析

3つのZooKeeperサーバーのうちの1つがLeader他のサーバーになりますFollowersLeaderZooKeeperサーバーがシャットダウンされている場合、Leader選択が再び開始されます。目的はLeaderLeaderサーバーがシャットダウンされた場合に別のZooKeeperサーバーになるかどうかを確認することです。


質問

ZooKeeperサーバーがリーダーかフォロワーかを確認するには、どのコマンドを発行する必要がありますか?

回答:


50

パッケージにnc含まれているコマンドを使用して、ZooKeeperサーバーがリーダーまたはフォロワーであるかどうかを確認できnetcatます。

echo stat | nc localhost 2181 | grep Mode
echo srvr | nc localhost 2181 | grep Mode #(From 3.3.0 onwards)

ZooKeeperサーバーがリーダーの場合、コマンドは以下を返します。Mode: leaderそれ以外の場合:Mode: follower


2
およびstandalone
16年

@bsd、zookeeperクラスター内のノードを見つける方法はありますか?
murarisumit

2
@sumitそれにはおそらく独自のSO質問が必要ですが、1つの方法はzoo.cfgファイルを単に読むことです。
ホセ・レオン

3

あるいは、以下を使用できます。

bin/zkServer.sh status

出力にモードを出力します:

ZooKeeper JMX enabled by default
Using config: /home/kafka/zookeeper/bin/../conf/zoo.cfg
Mode: follower
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.