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