有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java获取与消费者组kafka关联的主题列表

我有20个主题,在20个主题中,消费者1消费了5个主题,消费者2消费了15个主题。是否有任何方法可以获取与每个消费者相关的主题列表。如果我将消费者Id作为参数/请求传递,我希望显示与该消费者关联的所有主题

正在寻找Java或restful服务程序


共 (3) 个答案

  1. # 1 楼答案

    kafka-consumer-groups.sh describe <<group.id>>将显示组中所有消费者的列表,以及他们的ID、组中的主题部分和消费者的网络地址。然后您可以通过client.idgrep

    开箱即用,无法单独使用client.id来发现消费者

  2. # 2 楼答案

    您可以使用admin client通过listConsumerGroups函数获取有关消费者组的信息(或有关kafka的任何其他信息)。所有实用程序脚本都在后台使用adminclient

  3. # 3 楼答案

    AdminClient可以使用listConsumerGroupOffsets列出主题的消费者组偏移量

    List the consumer group offsets available in the cluster with the default options. This is a convenience method for #listConsumerGroupOffsets(String, ListConsumerGroupOffsetsOptions) with default options.

    ListConsumerGroupOffsetsResult list = client.listConsumerGroupOffsets​("group");
    

    然后,您可以使用偏移量获取所有主题和分区

    KafkaFuture<Map<TopicPartition,OffsetAndMetadata>> topics = list.partitionsToOffsetAndMetadata​()