随记-清理rocketMq队列堆积的消息

背景:rocketMq中队列消息过多、加上有时更新生产程序,导致队列中消息堆积,需要清空这些消息

清理步骤:

1、进入rocketMq目录中,关闭服务

cd /data/rocketmq/bin
sh mqshutdown broker
sh mqshutdown namesrv

2、备份下队列信息(毕竟操作失误了还能还原)

cd /root/
mv store store-bak
mv logs logs-bak
/root/store/CommitLog  存的是消息内容原文
/root/store/consumequeue 存的是消息在CommitLog中的offset(相当于索引)
/root/logs/rocketmqlogs/  存的rocketmq的日志信息

当前这些具体存放路径是 根据配置文件来的

3、重新启动rocketMq服务

cd  /data/rocketmq/bin
nohup sh mqnamesrv &
nohup sh mqbroker -n localhost:9876 autoCreateTopicEnable=true  -c ../conf/broker.conf &

这里需要说下,broker.conf配置里面,记得配置namesrvAddr地址
namesrvAddr=xxx.xxx.xx.xx:9876
在这里插入图片描述

4、初始化mq的数据

这里相当于就是新建队列了 ,把之前的队列新建一遍就ok了

cd /data/rocketmq/bin
./mqadmin updateTopic -t a_queue -c DefaultCluster -n 127.0.0.1:9876
./mqadmin updateTopic -t b_queue -c DefaultCluster -n 127.0.0.1:9876
./mqadmin updateTopic -t c_queue -c DefaultCluster -n 127.0.0.1:9876
./mqadmin updateTopic -t d_queue -c DefaultCluster -n 127.0.0.1:9876
./mqadmin updateTopic -t e_queue -c DefaultCluster -n 127.0.0.1:9876

5、观察下日志

tail -f ~/logs/rocketmqlogs/broker.log 

看到连上namesrv就ok了

6、mqadmin用到的命令

#查看所有topic
sh mqadmin topicList -n localhost:9876
#查看全部消费者情况
sh mqadmin consumerProgress -n localhost:9876

ps:整体思路就是,将mq恢复出厂设置,再建立自己需要的东东。

  • 1
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值