java - 如何使用 JAVA 获取集群中所有 Kafka 主题的列表以及分区号

标签 java api apache-kafka

我正在解决一个问题,该问题需要我获取集群中存在的所有 Kafka 主题的列表,并获取它们相应的分区号。 我知道这可以通过kafka-topics.sh来完成实现 TopicCommand.scala 的命令,但我需要用Java实现这个逻辑。 我正在使用 Kafka 0.10.0 并寻找一个可以帮助我做同样事情的 API。任何帮助将不胜感激!

最佳答案

您可以使用提供的消费者方法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也是!

关于java - 如何使用 JAVA 获取集群中所有 Kafka 主题的列表以及分区号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41327081/

相关文章:

java - 从适配器类到 Activity 的方法调用

node.js - 检索有关ElasticSearch Node 的信息

php - Oauth2 - 在 XX 分钟不活动后实现自动注销

java - Java spark kafka 流中的对象不可序列化(org.apache.kafka.clients.consumer.ConsumerRecord)

java - Java中OutputStream中的String中的引号问题

java - java中的薪资系统

c# - 如何在 .NET Core 上正确实现 kafka 消费者作为后台服务

string - Kafka 消息键 - 同时使用 byte[] 和 String

java - 删除 glClear 后 LibGdx 的奇怪效果

api - 如何启用 REST API 直接信用卡付款的实时凭证