Welcher Befehl muss ausgegeben werden, um zu überprüfen, ob ein ZooKeeper-Server ein Leader oder ein Follower ist?


23

Es wurde ein ZooKeeper-Quorum erstellt, das aus drei ZooKeeper-Servern besteht.

Der zoo.cfgauf allen drei ZooKeeper-Servern befindliche sieht folgendermaßen aus:

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

Analyse

Es ist klar, dass einer der drei ZooKeeper-Server Leaderder andere wird Followers. Wenn der LeaderZooKeeper-Server heruntergefahren wurde, wird die LeaderWahl erneut gestartet. Ziel ist es zu prüfen, ob ein anderer ZooKeeper-Server derjenige wird, Leaderwenn der LeaderServer heruntergefahren wurde.


Frage

Welcher Befehl muss ausgegeben werden, um zu überprüfen, ob ein ZooKeeper-Server ein Leader oder ein Follower ist?

Antworten:


50

Mit dem ncBefehl, der im netcatPaket enthalten ist, können Sie überprüfen, ob ein ZooKeeper-Server ein Leader oder Follower ist :

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

Wenn der ZooKeeper-Server führend ist, gibt der Befehl Folgendes zurück: Mode: leaderandernfalls:Mode: follower


2
undstandalone
zinking

@bsd, gibt es eine Möglichkeit, die Knoten im Zookeeper-Cluster zu finden?
Murarisumit

2
@sumit Das braucht wahrscheinlich eine eigene SO-Frage, aber eine Möglichkeit ist, einfach die Datei zoo.cfg zu lesen.
Jose Leon

3

Alternativ könnte Folgendes verwendet werden:

bin/zkServer.sh status

Es wird der Modus in der Ausgabe gedruckt:

ZooKeeper JMX enabled by default
Using config: /home/kafka/zookeeper/bin/../conf/zoo.cfg
Mode: follower
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.