我有一个要求,我们必须通过一个休息点来验证系统的健康检查。这个想法是通过kafka客户端获取集群中kafka节点的数量及其IP。kafka是否在客户端提供任何API来获取此信息?
问问题
185 次
1 回答
0
是的,可以使用AdminClient的describeCluster()
方法轻松检索集群中所有 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 回答