【问题标题】:How to retrieve details of all broker from kafka cluster如何从 kafka 集群中检索所有代理的详细信息
【发布时间】:2018-12-21 13:03:27
【问题描述】:

我们应该如何从 kafka 集群/zookeeper 中检索所有代理(连接/断开)的完整详细信息?

我找到了以下仅获取活动代理的方法,但我想要以前在集群中服务但现在已断开连接的代理的 IP 地址

下面的代码 sn-p 给出了活跃经纪人的列表:

ZooKeeper zkInstance = new ZooKeeper("mymachine:port", 10000, null);
brokerIDs = zkInstance.getChildren("/brokers/ids", false);
for (String brokerID : brokerIDs) {
    brokerInfo = new String(zkInstance.getData("/brokers/ids/" + brokerID,     false, null));
    String     host=brokerInfo.substring(brokerInfo.indexOf("\"host\"")).split(",")    [0].replaceAll("\"","").split(":")[1];
    String     port=brokerInfo.substring(brokerInfo.indexOf("\"jmx_port\"")).split(",")    [0].replaceAll("\"","").split(":")[1];
    System.out.println(host+":"+port);              
}

输出:

  • 我的机器 1:端口
  • my-machine-2:端口
  • my-machine-3:端口
  • my-machine-4:端口

我需要多节点 kafka 集群中所有连接/断开的代理的信息

【问题讨论】:

  • 如果断开连接,我不确定您希望如何获取该信息...您应该直接在 Kafka 服务器上监视 JMX 以确定它们连接到什么
  • Kafka 为分区分配一定数量的副本,这些分区由主题使用,副本是集群中的实际节点,因此 Kafka 中可能提供了存储副本的元数据的规定,例如代理编号、JMX 端口和进程运行的代理端口,当这些副本处于活动状态时 ZooKeeper 允许我们获取这些详细信息,但在代理关闭/不活动的情况下无法获取。
  • 这是假设您有一个主题的副本。另外,如果副本已关闭,那么它的分区将复制不足,并在您描述主题时列出-1
  • 是的,当我描述该特定主题时,我得到了相同的输出,因为您使用术语复制不足的分区,那么它将包含什么样的信息?它是仅包含代理 ID 及其状态,还是包含该特定副本的所有元数据。

标签: java apache-kafka apache-zookeeper


【解决方案1】:

使用 AdminClient 类的describeCluster() 获取代理详细信息,例如hostportidrock

请参考以下代码:

Properties kafkaProperties = new Properties();
kafkaProperties.put("bootstrap.servers", "localhost:9092,localhost:9093,localhost:9094");
AdminClient adminClient = AdminClient.create(kafkaProperties);
DescribeClusterResult describeClusterResult = adminClient.describeCluster();
Collection<Node> brokerDetails = describeClusterResult.nodes().get();
System.out.println("host and port details");
for(Node broker:brokerDetails) {
    System.out.println(broker.host()+":"+broker.port());
}

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-04-07
  • 2014-12-25
  • 1970-01-01
  • 1970-01-01
  • 2018-10-29
  • 1970-01-01
  • 2021-12-29
相关资源
最近更新 更多