[英]How to get Replication Factor of Kafka Topic from Java code
我有一些主题名称,我应该从我的 Java 应用程序中获取有关它的复制因子的信息。 我试图用 zookeeper 库做到这一点:
ZooKeeper zooKeeper = new ZooKeeper("localhost:22181", 10000, null);
String s = new String(zooKeeper.getData("/brokers/topics/" + KafkaTopicConfig.TOPIC_NAME, false, null));
但它现在有关于复制因子的信息,只有关于当前副本数的信息。 我试图用 kafka-client api 做到这一点:
TopicDescription topicDescriptionKafkaFuture = describeTopicsResult.values().get(KafkaTopicConfig.TOPIC_NAME).get();
但是也没有关于主题复制因子的信息。 有没有办法从 Java 代码中获取这些信息?
对的,这是可能的。 所有的 shell 脚本都只是 Java(或 Scala)代码!
在kafka-topics --describe --topic
的源代码中,它查看partitions(0).replicas
从 describeTopics 开始,通过 TopicDescription,您最终会得到一个包含副本信息的 TopicPartitionInfo 列表。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.