Error: Deletion of some consumer groups failed:
- Group ‘test2_consumer_group’ could not be deleted due to: java.util.concurrent.ExecutionException: org.apache.kafka.common.errors.GroupNotEmptyException: The group is not empty.
4. 重置消费组的偏移量 --reset-offsets
能够执行成功的一个前提是 消费组这会是不可用状态;
下面的示例使用的参数是: --dry-run
;这个参数表示预执行,会打印出来将要处理的结果;
等你想真正执行的时候请换成参数--excute
;
下面示例 重置模式都是 --to-earliest
重置到最早的;
请根据需要参考下面 相关重置Offset的模式 换成其他模式;
重置指定消费组的偏移量 --group
重置指定消费组的所有Topic的偏移量
--all-topic
sh bin/kafka-consumer-groups.sh --reset-offsets --to-earliest --group test2_consumer_group --bootstrap-server xxxx:9090 --dry-run --all-topic
重置指定消费组的指定Topic的偏移量
--topic
sh bin/kafka-consumer-groups.sh --reset-offsets --to-earliest --group test2_consumer_group --bootstrap-server xxxx:9090 --dry-run --topic test2
重置所有消费组的偏移量 --all-group
重置所有消费组的所有Topic的偏移量
--all-topic
sh bin/kafka-consumer-groups.sh --reset-offsets --to-earliest --all-group --bootstrap-server xxxx:9090 --dry-run --all-topic
重置所有消费组中指定Topic的偏移量
--topic
sh bin/kafka-consumer-groups.sh --reset-offsets --to-earliest --all-group --bootstrap-server xxxx:9090 --dry-run --topic test2
--reset-offsets
后面需要接重置的模式
相关重置Offset的模式
| 参数 | 描述 | 例子 |
| — | — | — |
| --to-earliest
: | 重置offset到最开始的那条offset(找到还未被删除最早的那个offset) | |
| --to-current
: | 直接重置offset到当前的offset,也就是LOE | |
| --to-latest
: | 重置到最后一个offset | |
| --to-datetime
: | 重置到指定时间的offset;格式为:YYYY-MM-DDTHH:mm:SS.sss
; | --to-datetime "2021-6-26T00:00:00.000"
|
| --to-offset
| 重置到指定的offset,但是通常情况下,匹配到多个分区,这里是将匹配到的所有分区都重置到这一个值; 如果 1.目标最大offset<--to-offset
, 这个时候重置为目标最大offset;2.目标最小offset>--to-offset
,则重置为最小; 3.否则的话才会重置为--to-offset
的目标值; 一般不用这个 | --to-offset 3465
|
| --shift-by
| 按照偏移量增加或者减少多少个offset;正的为往前增加;负的往后退;当然这里也是匹配所有的; | --shift-by 100
、--shift-by -100
|
| --from-file
| 根据CVS文档来重置; 这里下面单独讲解 | |
--from-file
着重讲解一下
上面其他的一些模式重置的都是匹配到的所有分区; 不能够每个分区重置到不同的offset;不过**
--from-file
**可以让我们更灵活一点;
- 先配置cvs文档
test2,0,100
test2,1,200
test2,2,300
- 执行命令
sh bin/kafka-consumer-groups.sh --reset-offsets --group test2_consumer_group --bootstrap-server xxxx:9090 --dry-run --from-file config/reset-offset.csv
5. 删除偏移量delete-offsets
能够执行成功的一个前提是 消费组这会是不可用状态;
偏移量被删除了之后,Consumer Group下次启动的时候,会从头消费;
sh bin/kafka-consumer-groups.sh --delete-offsets --group test2_consumer_group2 --bootstrap-server XXXX:9090 --topic test2
相关可选参数
| 参数 | 描述 | 例子 |
| — | — | — |
| --bootstrap-server
| 指定连接到的kafka服务; | –bootstrap-server localhost:9092 |
| --list
| 列出所有消费组名称 | --list
|
| --describe
| 查询消费者描述信息 | --describe
|
| --group
| 指定消费组 | |
| --all-groups
| 指定所有消费组 | |
| --members
| 查询消费组的成员信息 | |
| --state
| 查询消费者的状态信息 | |
| --offsets
| 在查询消费组描述信息的时候,这个参数会列出消息的偏移量信息; 默认就会有这个参数的; | |
| dry-run
| 重置偏移量的时候,使用这个参数可以让你预先看到重置情况,这个时候还没有真正的执行,真正执行换成--excute
;默认为dry-run
| |
| --excute
| 真正的执行重置偏移量的操作; | |
| --to-earliest
| 将offset重置到最早 | |
小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数初中级Java工程师,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年最新Java开发全套学习资料》送给大家,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频
如果你觉得这些内容对你有帮助,可以添加下面V无偿领取!(备注Java)
最后
终极手撕架构师的学习笔记:分布式+微服务+开源框架+性能优化
笔记、源码讲义、实战项目、讲解视频**
如果你觉得这些内容对你有帮助,可以添加下面V无偿领取!(备注Java)
[外链图片转存中…(img-fG7IRQG4-1711129626976)]
最后
终极手撕架构师的学习笔记:分布式+微服务+开源框架+性能优化
[外链图片转存中…(img-n0yB5R3K-1711129626976)]