ZooKeeper 서버가 리더인지 팔로어인지 확인하려면 어떤 명령을 실행해야합니까?


23

3 개의 ZooKeeper 서버로 구성된 ZooKeeper Quorum이 생성되었습니다.

zoo.cfg세 개의 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 서버 중 하나가 Leader다른 서버가 될 것이 분명합니다 Followers. 는 IF Leader사육사 서버가 종료 된 Leader선거가 다시 시작됩니다. 목표는 다른 사육사 서버가 될 것입니다 있는지 확인하는 것입니다 Leader경우 Leader서버가 종료되었습니다.


의문

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
zinking

@bsd, zookeeper 클러스터에서 노드를 찾는 방법이 있습니까 ??
murarisumit

2
@sumit 아마도 자체 SO 질문이 필요하지만 한 가지 방법은 zoo.cfg 파일을 읽는 것입니다.
Jose Leon

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.