0

我有一个要求,我们必须通过一个休息点来验证系统的健康检查。这个想法是通过kafka客户端获取集群中kafka节点的数量及其IP。kafka是否在客户端提供任何API来获取此信息?

4

1 回答 1

0

是的,可以使用AdminClientdescribeCluster()方法轻松检索集群中所有 Kafka 节点的详细信息。

例如:

Properties adminProps = new Properties();
adminProps.load(new FileInputStream("admin.properties"));
AdminClient adminClient = KafkaAdminClient.create(adminProps);

DescribeClusterResult describeClusterResult = adminClient.describeCluster();
List<Node> nodes = new ArrayList<>(describeClusterResult.nodes().get());
for (Node node : nodes) {
    System.out.println("Node id=" + node.id() + " host=" + node.host() + " port=" + node.port());
}
于 2018-07-19T16:34:38.513 回答