apache-zookeeper - 如何获取当前zookeeper集群的成员服务器列表

标签 apache-zookeeper

我想在我的 Java 应用程序中获取成员服务器列表及其类型(领导者或观察者)。
并且还想得到死服务器。

他们有办法做到这一点吗?我阅读了文档,但没有找到。

最佳答案

如果有一个内置的答案而不求助于 JMX,那就太好了。如果您在 Zookeeper 节点之一上,您可以读取 zoo.cfg 文件以获取服务器列表(死的和活的),然后单独“统计”每个服务器以查看它是否还活着以及它的状态是什么(注意成功响应的“模式”属性)。例如。:

$ echo stat | nc 127.0.0.1 2181
Zookeeper version: 3.4.5--1, built on 06/10/2013 17:26 GMT
Clients:
 /127.0.0.1:54752[1](queued=0,recved=215524,sent=215524)
 /127.0.0.1:59298[0](queued=0,recved=1,sent=0)

Latency min/avg/max: 0/0/6
Received: 5596
Sent: 5596
Connections: 2
Outstanding: 0
Zxid: 0x10000010f
Mode: leader
Node count: 54

请注意,“stat”不会向您显示zookeeper ensemble 的其他成员——它只向​​您显示已连接的客户端。

关于apache-zookeeper - 如何获取当前zookeeper集群的成员服务器列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16669104/

相关文章:

构建 SharpKeeper(用于 .NET 的 ZooKeeper 客户端)

windows - 在Windows中设置Kafka日志目录属性

java - Zookeeper连接异常,连接被拒绝

java - 当我传递命令行参数时找不到类

apache-zookeeper - 解决 Mesos 领导大师

azure - 具有 Azure SQL 数据库的分布式锁管理器

hadoop - 当实际事件名称节点关闭时,HDFS HA集群备用节点不会变为事件状态

hadoop - YARN无法使用嵌入式HBase

bash - 如何执行solr zookeeper CLI上传solr配置

apache-kafka - 分区的重新分配无限地停留在 "Still in progress"状态