linux – 需要发出什么命令来检查ZooKeeper服务器是领导者还是追随者?

已创建由三个ZooKeeper服务器组成的ZooKeeper仲裁.

位于所有三个ZooKeeper服务器上的zoo.cfg如下所示:

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

分析

很明显,三个ZooKeeper服务器中的一个将成为领导者和其他粉丝.如果leader ZooKeeper服务器已关闭,则leader选举将重新开始.目的是检查leader服务器是否已关闭,另一个ZooKeeper服务器是否会成为leader.

需要发出什么命令来检查ZooKeeper服务器是领导者还是追随者?

解决方法

可以使用netcat包中包含的nc命令检查ZooKeeper服务器是否是领导者或关注者:
echo stat | nc localhost 2181 | grep Mode
echo srvr | nc localhost 2181 | grep Mode #(From 3.3.0 onwards)

如果ZooKeeper服务器是领导者,那么命令将返回:模式:领导者和否则:模式:关注者

相关文章

1、安装Apache。 1)执行如下命令,安装Apache服务及其扩展包...
一、先说一下用ansible批量采集机器信息的实现办法: 1、先把...
安装配置 1. 安装vsftpd 检查是否安装了vsftpd # rpm -qa | ...
如何抑制stable_secret读取关键的“net.ipv6.conf.all.stabl...
1 删除0字节文件 find -type f -size 0 -exec rm -rf {} ...
## 步骤 1:安装必要的软件包 首先,需要确保系统已安装 `dh...