如何在 java 中获取 kafka 中消费者组的消费者滞后

How to get Consumer Lag for a consumer group in kafka in java

我想知道使用 java 的消费者组的消费者延迟。 我试过使用

kafka-consumer-groups --describe --bootstrap-server localhost:9092 --group MyGroupName

并且滞后是可见的。

我如何在 Java 中执行此操作?

我已经尝试使用 org.apache.kafka.clients.admin.AdminClient,但无法获得每个消费者组的延迟。

我正在使用 confluent 5.0.1 which has kafka 2.0.1 org.apache.kafka - kafka-clients - 2.0.1

滞后约为 endOffset-currentOffset。您可以使用

AdminClient.listConsumerGroupOffsets("MyGroupName").partitionsToOffsetAndMetadata()

获取组的当前偏移量。要获得结束偏移量,您需要为主题创建 KafkaConsumer 并使用

KafkaConsumer.endOffsets(partitions)