一、整个kafka设置偏移量
对kafka整个集群设置偏移量大家使用较多,适合测试环境,丢弃整个消息队列中的数据:
./kafka-consumer-groups.sh --bootstrap-server localhost:9092 --group group_mytest --reset-offsets --all-topics --to-latest --execute
二、指定topic的指定分区设置偏移量
当一个topic存在多个分区,其中单个分区产生堆积时,生产环境中显然不适合丢弃整个topic的数据,所以,为了尽量减少对生产数据的影响,可以对指定的分区重设偏移量
1、首先查看当前分区情况以及消费组信息:
./kafka-consumer-groups.sh --bootstrap-server localhost:9092 --describe --group my_group
CURRENT-OFFSET:将这个值调大,则可以丢弃掉指定分区的一部分数据
2、然后根据具体积压的分区情况,设置指定分区的偏移量:
./kafka-consumer-groups.sh --bootstrap-server localhost:9092 --group my_group --reset-offsets --topic my_topic:10 --to-offset 123123123 --execute
–topic kafkatest:10:10表示分区
–to-offset 123123123
3、如果出现报错:
Error: Assignments can only be reset if the group ‘my_group’ is
inactive, but the current state is PreparingRebalance.
说明指定的消费组处于活跃状态,需要停止消费之后,才能操作。