1
我建立了一個3節點kafka集羣。我想知道哪些經紀人可用於生產者客戶。是否有任何命令列出連接到動物園管理員的經紀人?卡夫卡製片人如何知道哪些是來自zookeeper的可用經紀人?
我建立了一個3節點kafka集羣。我想知道哪些經紀人可用於生產者客戶。是否有任何命令列出連接到動物園管理員的經紀人?卡夫卡製片人如何知道哪些是來自zookeeper的可用經紀人?
您可以通過/經紀人/ IDS遍歷經紀人ID,然後獲取這些ID的經紀人信息獲得通過的ZooKeeper券商名單:
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);
}
注:此方法僅支持向後兼容性較低的客戶端,並且不適用於配置了安全性的服務器,如SASL_SSL。請參閱https://issues.apache.org/jira/browse/KAFKA-3948更新的方法是解析和處理端點,其中包括主機名和端口號,例如「端點」:[「SASL_SSL:// kafka01:9093」]和「端點」:[「PLAINTEXT://127.0.0.1:9092」], – JulianHarty