Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to get Replication Factor of Kafka Topic from Java code

I have some topic name and i should to get info about it's replication factor from my Java application. I tried to do that with zookeeper library:

ZooKeeper zooKeeper = new ZooKeeper("localhost:22181", 10000, null);
String s = new String(zooKeeper.getData("/brokers/topics/" + KafkaTopicConfig.TOPIC_NAME, false, null));

But it has now info about replication factor, only info about current replicas count. I tried to do that with kafka-client api:

TopicDescription topicDescriptionKafkaFuture = describeTopicsResult.values().get(KafkaTopicConfig.TOPIC_NAME).get();

But there is also no info about topic's replication factor. Is there anyway to get that info from Java Code?

like image 778
Arthur Fonzerelli Avatar asked Jun 29 '26 05:06

Arthur Fonzerelli


1 Answers

Yes, it is possible. All the shell scripts are just Java (or Scala) code!

In the source code of kafka-topics --describe --topic, it looks at partitions(0).replicas

like image 157
OneCricketeer Avatar answered Jul 01 '26 21:07

OneCricketeer



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!