Я работаю над проблемой, которая требует от меня получить список всех тем Kafka, присутствующих в кластере, а также получить их соответствующий номер раздела. Я знаю, что это можно сделать с помощью команды kafka-topics.sh
, которая реализует TopicCommand.scala
, но мне нужно реализовать эту логику в Java. Я работаю с Kafka 0.10.0 и ищу API, который может помочь мне сделать то же самое. Любая помощь будет оценена!Как получить список всех тем Kafka в кластере вместе с номером раздела с помощью JAVA
2
A
ответ
2
вы можете перечислить темы на сервере с предоставленным методом listTopics(); как это:
Map<String, List<PartitionInfo> > topics;
Properties props = new Properties();
props.put("bootstrap.servers", "1.2.3.4:9092");
props.put("group.id", "test-consumer-group");
props.put("key.deserializer", "org.apache.kafka.common.serialization.StringDeserializer");
props.put("value.deserializer", "org.apache.kafka.common.serialization.StringDeserializer");
KafkaConsumer<String, String> consumer = new KafkaConsumer<String, String>(props);
topics = consumer.listTopics();
фотографии эти examples тоже!
примеры не имеют отношения к версии 0.10.0. Поскольку метаданные тем сохраняются и управляются по выделенной теме в Kafka, в отличие от 0.8, где они использовали zookeeper для задания. , но способ, который вы предложили, является самым простым способом, тем не менее! вы заработали очко !!! –