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);
}
我已经设置了一个 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);
}