1.查看消费者下 topic 消费进度
broker offset 相当于是消息生产位点,consumer offset 是消息消费位点. 如果两者差异过大,新增的数据就不会实时看到. diff 是剩余未消费消息
sh mqadmin consumerProgress -n localhost:9876 -g PushConsumer
2.查看生产者消费进度
sh mqadmin consumerProgress -n localhost:9876
model 是 集群 ,tps是每秒消费数量, type 消费方式,group 是消费者组
3.清除堆积数据,这里不是清除而是重置消费位点,效果一样. 未消费的消息rocketmq三天后默认丢弃
sh mqadmin resetOffsetByTime -n localhost:9876 -g PushConsumer -t Topic_EqScanRecord -s -1
命令执行目录就是mq安装位置的bin目录下
最后说明一下offset这个参数的设置对应 java源码里的枚举类 ConsumeFromWhere
- 1 CONSUME_FROM_LAST_OFFSET:从队列最后位置消费,后续再启动接着上次消费的进度开始消费。如果重启mq堆积的数据就不会消费
- 2 CONSUME_FROM_FIRST_OFFSET:从队列初始位置消费,后续再启动接着上次消费的进度开始消费。如果重启mq堆积的数据会继续消费
- 3 CONSUME_FROM_TIMESTAMP:第一次启动从指定时间点位置消费,后续再启动接着上次消费的进度开始消费。不做指定的话默认半小时之前堆积的消息开始消费