如何列出所有Kafka zookeeper引导程序服务器

时间:2016-04-26 14:56:01

标签: apache-kafka apache-zookeeper

我希望能够以编程方式(或使用shell脚本)列出我的每个环境的所有zookeeper引导程序服务器。

如果我只知道其中一个引导服务器,我可以获得所有这些服务器的列表吗?

2 个答案:

答案 0 :(得分:2)

所有活动代理都在/brokers/ids/[brokerId]下注册,您可以通过任何ZK客户端查询ZNode信息(例如org.I0Itec.zkclient)。您只需要zkQuorum地址。

zkClient = new ZkClient(properties.getProperty("zkQuorum"), zkSessionTimeout, zkConnectionTimeout,
                ZKStringSerializer$.MODULE$);

Kafka data structures in Zookeeper

答案 1 :(得分:0)

不确定这是否有帮助,但我使用以下内容从Kafka zookeeper中找到一个引导服务器:

zkCli.sh -server host:port
[zkCli prompt] ls /kafka
[..., brokers, ...]
[zkCli prompt] ls /kafka/brokers
[1, 2, 3, 4, 5]
[zkCli prompt] ls /kafka/brokers/1
[1]
[zkCli prompt] get /kafka/brokers/1
>> broker info<<