为什么在使用相同的 groupId 重新创建消费者组后偏移量不会重置为 0
Why are offsets not reset to 0 after recreating consumer group with the same groupId
例如。这里是一个消费组,offsets为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' 的组。
为什么新集团仍然持有 offsets 100?为什么不是 0?
因为 Kafka 将每个消费者组的偏移量存储在内部 Kafka 主题 __consumer_offsets 中,保留策略设置为 compact
。这意味着内部日志清理器需要一些时间才能真正为您的消费者组删除该信息。
您可以等待可配置的时间,或者,如果您只想将偏移量从 100 重新设置为 0,通常最好使用
bin/kafka-consumer-groups.sh --bootstrap-server localhost:9092 \
--execute --reset-offsets \
--group group-0 \
--topic topicName \
--partition 0 \
--to-offset 0
例如。这里是一个消费组,offsets为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' 的组。
为什么新集团仍然持有 offsets 100?为什么不是 0?
因为 Kafka 将每个消费者组的偏移量存储在内部 Kafka 主题 __consumer_offsets 中,保留策略设置为 compact
。这意味着内部日志清理器需要一些时间才能真正为您的消费者组删除该信息。
您可以等待可配置的时间,或者,如果您只想将偏移量从 100 重新设置为 0,通常最好使用
bin/kafka-consumer-groups.sh --bootstrap-server localhost:9092 \
--execute --reset-offsets \
--group group-0 \
--topic topicName \
--partition 0 \
--to-offset 0