Я установил 3-узловой кластер kafka. Я хочу знать, какие брокеры доступны для клиента-производителя. Есть ли какая-нибудь команда для перечисления брокеров, подключенных к zookeeper?
Как производитель кафки узнает, какие брокеры доступны в zookeeper?
Ответы (1)
Вы можете получить список брокеров через ZooKeeper, перебирая идентификаторы брокера в / brokers / ids, а затем получая информацию о брокере из этих идентификаторов:
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);
}
person
Nick Vanderhoven
schedule
18.11.2016
Примечание: этот подход поддерживается только для обратной совместимости для старых клиентов и не работает для серверов, настроенных с безопасностью, такой как SASL_SSL. См. issues.apache.org/jira/browse/KAFKA-3948 Более новые подход заключается в анализе и обработке конечных точек, которые включают имя хоста и номер порта, например конечные точки: [SASL_SSL: // kafka01: 9093] и конечные точки: [PLAINTEXT: //127.0.0.1: 9092],
- person JulianHarty; 17.01.2018