Kafka特技

重复消费

某个消费者组已经将消息消费了,如果想重复消费,可以使用如下步骤:

1、在 kafka/config 目录下,拷贝一份 consumer.properties 文件,比如 consumer_xwj.properties

2、修改 consumer_xwj.properties 文件,将group.id 改成自己的消费者组名称,比如:tc_docker_alert_event_consumer

3、执行命令,将每个分区的offset向后重置1。

/usr/local/qingteng/kafka/bin/kafka-consumer-groups.sh --bootstrap-server 172.16.17.223:9092 --group tc_docker_alert_event_consumer --reset-offsets --topic tc_docker_alert_event --shift-by -1 --command-config /usr/local/qingteng/kafka/config/consumer_xwj.properties --execute

以上命令中的变量需要根据实际情况调整,变量:bootstrap-server、group、topic、command-config 

--shift-by N : 把位移调整到当前位移 + N 处,注意 N 可以是负数,表示向前移动

注意:执行以上命令前,必须先停掉该消费者组(如果是后台服务使用该消费者组,则需要先停掉该服务再执行命令)

 查看消息堆积

如果需要查看下kafka消息的堆积情况,可以执行命令:

/usr/local/qingteng/kafka/bin/kafka-consumer-groups.sh --bootstrap-server 172.16.17.223:9092 --command-config /usr/local/qingteng/kafka/config/consumer_xwj.properties --describe --group tc_docker_alert_event_consumer

以上命令中的变量需要根据实际情况调整,变量:bootstrap-server、group、command-config 

 

 其中 LAG 表示消息的堆积情况。

 

知识改变世界
原文地址:https://www.cnblogs.com/xuwenjin/p/15217240.html