使用Zookeeper API,是否可以知道当前服务器是否是Zookeeper集群的leader?
文档提到领导者已经看到了所有追随者中最高的 zxid。. 有没有可能以某种方式检查这个?
小智 5
您可以从不同位置找到此信息。最简单的方法是从每个 Zookeeper 机器上运行脚本./bin/zkServer.sh status。您将得到以下形式的答复:
默认启用 ZooKeeper JMX
使用配置:/path/to/conf/zoo.cfg
模式:follower
对于领导节点,最后一行将相应显示。
如果您想从导入 ZK 客户端库的 Java 代码中实现这一点,您可以使用这样的类FourLetterWordMain:
String zkAnswer = FourLetterWordMain.send4LetterWord ("<zk-address>", <zk-port>, "srvr");
Run Code Online (Sandbox Code Playgroud)
答案字符串将如下所示:
Zookeeper 版本:3.4.10-39d3a4f269333c922ed3db283be479f9deacaa0f,建立于 03/23/2017 10:13 GMT
延迟 min/avg/max:0/0/6
接收
:188930x01d
连接
:Zented
Mode:Z0000000000
节点数:337
这段代码基本上也被zkServer.sh脚本使用。
| 归档时间: |
|
| 查看次数: |
5020 次 |
| 最近记录: |