如何列出所有Kafka zookeeper引导程序服务器
问题描述:
我希望能够以编程方式(或使用shell脚本)列出我的每个环境中的所有zookeeper引导程序服务器。如何列出所有Kafka zookeeper引导程序服务器
如果我只知道一个引导程序服务器,我可以得到它们全部的列表吗?
答
所有活动经纪人都在/brokers/ids/[brokerId]
下注册,您可以通过任何ZK客户端(例如org.I0Itec.zkclient)查询ZNode信息。所有你需要的是zkQuorum地址。
zkClient = new ZkClient(properties.getProperty("zkQuorum"), zkSessionTimeout, zkConnectionTimeout,
ZKStringSerializer$.MODULE$);
答
不知道这直接帮助,但我用下面从卡夫卡动物园管理员发现一个引导服务器:
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<<