如何通过kafka客户端检查集群中运行的kafka服务器的数量和IP?

时间:2018-07-19 16:05:19

标签: apache-kafka kafka-cluster

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

1 个答案:

答案 0 :(得分:0)

是的,可以使用describeCluster() method中的AdminClient轻松检索有关集群中所有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());
}