kafka reset offset 手工重置offset

1、场景

a)有时消费端逻辑修改,需要重复消费数据,需要将offset设置到指定位置。

2、实现

kafka版本:0.11.*

KIP-122: Add Reset Consumer Group Offsets tooling

样例:

./kafka-consumer-groups.sh --bootstrap-server ip:9092 --group groupName --reset-offsets --to-offset 1000 --topic topicName --execute

3、问题

--reset-offsets 是从0.11.*后支持,如果是0.10.*的版本可以如下操作:

a.下载0.11.*或更新版本

b.使用0.11.*或更新版本的脚本即可(kafka-consumer-groups.sh),不过有的功能可能会提示接口版本问题。例如--describe提示kafka服务端接口版本过低。

参考原文:

For ones who want to do the same for Kafka 0.10 you may download Kafka 1.0 binaries which include the script with this new offset reset capabilities, it will work for Kafka 0.10 as well:

wget http://apache-mirror.rbc.ru/pub/apache/kafka/1.0.0/kafka_2.11-1.0.0.tgz
tar -xvf kafka_2.11-1.0.0.tgz
cd kafka_2.11-1.0.0/bin

4、其他配套使用脚本

a.查看消费组list

./kafka-consumer-groups.sh --new-consumer --bootstrap-server ip:9092 --list

b.查看指定消费者的offset

./kafka-consumer-groups.sh --new-consumer --bootstrap-server ip:9092 --describe --group groupName

c.重置offset

./kafka-consumer-groups.sh --bootstrap-server ip:9092 --group groupName --reset-offsets --to-offset 1000 --topic topicName --execute

参考

kafka 0.11 how to reset offsets 

how to reset kafka consumer group offset

原文地址:https://www.cnblogs.com/huangfox/p/9800419.html