Ana içeriğe geç

Kafka Consumer Offset Reset#

Kafka kafka-consumer-groups komutu ile kafka offsetlerini manipüle edebilmek mümkündür.

  1. Topic'leri group_id ile listeleyin

kafka-consumer-groups --bootstrap-server --group --describe

kafka-consumer-groups --bootstrap-server --group --describe

"CURRENT-OFFSET" ve "LOG-END-OFFSET" altındaki değerleri not alın. "CURRENT-OFFSET" değeri, consumer grubunun her bir partition için mevcuttaki durumunu gösterir.

  1. Topic için consumer offset reset (preview)

kafka-consumer-groups --bootstrap-server --group --topic --reset-offsets --to-earliest

Bu komut sonucun ne olduğunu yazdıracaktır ancak gerçekten çalıştırmayacaktır.

  1. Topic için consumer offset reset (execute)

kafka-consumer-groups --bootstrap-server --group --topic --reset-offsets --to-earliest --execute

Örnek:

kafka-consumer-groups --bootstrap-server localhost:19092 --group eventLogGroup --topic eventLog --reset-offsets --to-earliest --execute

Bu komut belirtilen topic için offset değerini 0 a çekecektir.

  1. Reset başarılı olursa 1. adımı tekrarlayarak yapılan işlemin sonucu görülebilir.

Not:#

  • Resetleme sırasında consumer grubunun çalıştığı instance olmamalı, aksi durumda resetleme yapılmayacaktır.
  • Başka birçok resetleme seçeneği de mevcuttur. "kafka-consumer-groups" komutunu çalıştırarak detaylar görüntülenebilir.
    • --shift-by
    • --to-current
    • --to-latest
    • --to-offset
    • --to-datetime
    • --by-duration
  • "--all-topics" komutu ile consumer grubunun dinlediği tüm offsetler de resetlenebilir.