kafka reset offset 手工重置offset

一、场景git

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

 

二、实现apache

kafka版本:0.11.*bootstrap

KIP-122: Add Reset Consumer Group Offsets toolingthis

样例:server

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

 

三、问题ip

--reset-offsets 是从0.11.*后支持,若是是0.10.*的版本能够以下操做:get

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

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

 

四、其余配套使用脚本

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