kafka 生产者如何知道哪些是来自 zookeeper 的可用经纪人?

How does a kafka producer know which are the available brokers from zookeeper?

我已经设置了一个 3 节点的 kafka 集群。我想知道生产者客户可以使用哪些经纪人。是否有任何命令列出连接到 zookeeper 的代理?

您可以通过 ZooKeeper 获取代理列表,方法是遍历 /brokers/ids 中的代理 ID,然后从这些 ID 中获取代理信息:

ZooKeeper zk = new ZooKeeper("localhost:2181", 10000, null);
List<String> ids = zk.getChildren("/brokers/ids", false);

for (String id : ids) {
   String brokerInfo = new String(zk.getData("/brokers/ids/" + id, false, null));
   System.out.println(id + ": " + brokerInfo);
}