问题描述
例如。这是一个偏移量为 100 的消费者组,groupId 为 'group-0'。
我使用 kafka-consumer-groups 删除该消费者组。
kafka-consumer-groups --bootstrap-server <address> --delete --group group-0 --execute
它返回成功:
Deletion of requested consumer group ('group-0') was successful.
然后我重新创建了具有相同 ID 'group-0' 的组。
为什么新组仍然持有抵消 100?为什么不是 0?
解决方法
因为 Kafka 将每个消费者组的偏移量存储在保留策略设置为 compact
的内部 Kafka 主题 __consumer_offsets 中。这意味着内部日志清理器需要一些时间才能真正为您的消费者组删除该信息。
您可以等待可配置的时间,或者,如果您只想将偏移量从 100 重新设置为 0,通常最好使用
bin/kafka-consumer-groups.sh --bootstrap-server localhost:9092 \
--execute --reset-offsets \
--group group-0 \
--topic topicName \
--partition 0 \
--to-offset 0