关于kafka更改消费者对应分组下的offset值

 

kafka的offset保存位置分为两种情况 0.9.0.0版本之前默认保存在zookeeper当中 
0.9.0.0版本之后保存在broker对应的topic当中

1.如何辨别你启用的consumer的offset保存位置
进入zookeeper的命令行当中 zkCli.sh localhost:2181 用 ls / 查看目录
如果你在代码中定义的group id 没有在 /consumers 这个文件夹中,代表offset保存在broker的topic中
前提是consumer确实已经创建并启动
如果group ID 在/consumers 目录下存在则 offset的保存位置是 /consumers/{group}/offsets/{topic}/{partition}
反之 offset的保存位置则是 /broker/topic/__consumer_offsets 当中

2.如何查看自己消费者分组 对应的 topic 的offset  
第一种方式
bin/kafka-run-class.sh kafka.tools.ConsumerOffsetChecker --topic test-topic --zookeeper zookeeper:2181 --group group名字
第二种方式
kafka-consumer-offset-checker --zookeeper localhost :2181/kafka --group test-consumer-group --topic test  
第三种方式
bin/kafka-run-class.sh kafka.tools.ConsumerOffsetChecker --topic test --zookeeper 10.0.10.10:2181 --group test-consumer-group
第四种方式
bin/kafka-consumer-groups.sh --bootstrap-server dbnode4:9092,dbnode5:9092,dbnode6:9092 --group test-consumer-group --describe

3.更改指定消费者分组对应topic的offset
第一种情况offset信息保存在topic中
bin/kafka-consumer-groups.sh --bootstrap-server dbnode4:9092,dbnode5:9092,dbnode6:9092 --group test-consumer-group --topic test --execute --reset-offsets --to-offset 10000
参数解析: --bootstrap-server 代表你的kafka集群 你的offset保存在topic中
--group 代表你的消费者分组
--topic 代表你消费的主题
--execute 代表支持复位偏移
--reset-offsets 代表要进行偏移操作
--to-offset 代表你要偏移到哪个位置 是long类型数值,只能比前面查询出来的小
还有其他的--to- ** 方式可以自己验证 本人验证过--to-datetime 没有成功

第二种方式offset信息保存在zookeeper当中
bin/kafka-consumer-groups.sh --zookeeper z1:2181,z2:2181,z3:2181 --group test-consumer-group --topic test --execute --reset-offsets --to-offset 10000
--zookeeper 和 --bootstrap-server 只能选一种方式

修改offset之前保证要修改的consumer 是不活动状态就是得先停应用
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值