kafka 重置偏移reset-topic
2021-03-16kafka不重要的数据,出现堆积,重新消费需要很久,不如清理一下快。
1、## 详情通过help 命令查看
## all topic 重置到最早消费进度
kafka-consumer-groups.sh --bootstrap-server 10.202.13.27:9092 --group cjw --reset-offsets --all-topics --to-earliest --execute
##指定主题
kafka-consumer-groups.sh --bootstrap-server 10.202.13.27:9092 --group cjw --reset-offsets --topic cjw-test --to-earliest --execute
##指定偏移量
kafka-consumer-groups.sh --bootstrap-server 10.202.13.27:9092 --group cjw --reset-offsets --topic cjw-test --to-offset 2 --execute
##指定主题、分区、消费偏移
kafka-consumer-groups.sh --bootstrap-server 10.202.13.27:9092 --group cjw --reset-offsets --topic cjw-test:1 --to-offset 2 --execute
2、Error: Assignments can only be reset if the group 'logstash_kafka_group' is inactive, but the current state is Stable
简单的说就是,相同的 group 有其他的 topic 正在使用和消费,那么这个 group 是出于 active 状态。出于 active 状态的 group 的任何 topic 的 offset 是不能够被 reset 的。
3 停止 logstash消费任务,或者其他消费任务
4、重新执行
9reset_kafka_lag.sh logstash_kafka_group log-a
Error: Assignments can only be reset if the group 'logstash_kafka_group' is inactive, but the current state is PreparingRebalance.
GROUP TOPIC PARTITION NEW-OFFSET
logstash_kafka_group log-group 0 923424362
logstash_kafka_group log-group 1 213391942
logstash_kafka_group log-group 2 1034276461
[root@log-kafka7 ~]# sh log-group.sh
5、清理
Consumer group 'logstash_kafka_group' has no active members.
logstash_kafka_group log-group 1 213391942 213393406 1464 - - -
logstash_kafka_group log-group 0 923424362 923433192 8830 - - -
logstash_kafka_group log-group 2 1034276461 1034284424 7963 - - -
6、cat 9reset_kafka_lag.sh
export JAVA_HOME=/jesong/jdk1.8.0_251
export PATH=$PATH:$JAVA_HOME/bin
if [ -z $2 ];then
echo Usage $0 groupname
exit 0;
fi
group=$1
topic=$2
IP=$(ifconfig eth0|grep inet|awk '{print $2}'|head -1)
cd /jesong/kafka_2.13-2.6.0
./bin/kafka-consumer-groups.sh --bootstrap-server ${IP}:9092 \
--reset-offsets \
--group ${group} \
--topic ${topic} \
--to-latest \
--execute
#--to-earliest \