gpt4 book ai didi

java - 如何在 Java 中以编程方式获取 Kafka Cluster 和 Broker 信息?

转载 作者:行者123 更新时间:2023-12-03 21:32:15 25 4
gpt4 key购买 nike

我希望以编程方式从工作人员本身获取我的 kafka 集群上的所有 Activity 代理。
这个想法是创建一个健康调度程序,它将检查并返回 Activity 代理地址。

在每个worker中,我在设置consumer配置的时候设置了集群地址

props.put(onsumerConfig.BOOTSTRAP_SERVERS_CONFIG, myServerAddress);

但是,这不会告诉我目前哪些经纪人是活跃的。

我进行了一些搜索,但找不到任何获取此信息的方法。是否可以?

最佳答案

您可以使用 describeCluster() 检索集群中 Kafka 代理的所有详细信息。的 AdminClient :

Get information about the nodes in the cluster.

Parameters: options - The options to use when getting information about the cluster.

Returns: The DescribeClusterResult.


// Create AdminClient
Properties props = new Properties();
props.load(new FileInputStream("ac.properties"));
AdminClient adminClient = KafkaAdminClient.create(props);

// Get brokers' details
DescribeClusterResult describeClusterResult = adminClient.describeCluster();
List<Node> brokers = new ArrayList<>(describeClusterResult.nodes().get());
for (Node broker : brokers) {
System.out.println("Host=" + broker.host() + ", Port=" + broker.port());
}

关于java - 如何在 Java 中以编程方式获取 Kafka Cluster 和 Broker 信息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59964337/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com