rocketmq故障排查

rocketmq排查队列分配的消费者情况

在这里插入图片描述

rocketmq生产者报连接超时

正常的rocketmq是启动在本地,但是在投递消息到本地生产者时经常会报超时。
在这里插入图片描述

这个时候就要检查对应的配置,这里定位到的是连接的broker的IP不是本机的IP.观察启动的broker日志

这个IP 主要来自broker的配置文件
brokerIP1=192.168.0.105
这个值通过查看本地的网卡,然后根据自己的实际地址进行更改配置文件,重启broker即可

rocketmq投递到MQ 但是消费不了

查看对应的消费者,发现对应的消费者消费出现负数。
在这里插入图片描述

以下截图不与上面相对应一致:
在这里插入图片描述

为了保持可以消费,需要先停掉rocketmq的服务,同时停掉模块,修改对应值,重启修复

rocketmq广播消费 消费不到

rocketmq 广播消费是需要把对应的数据保存到本地的目录下,默认是在
用户根目录/ .rocketmq_offsets/172.16.0.84@DEFAULT@1592448925517/g_mto_Y001_op 下,
LocalFileOffsetStore 有对应的逻辑。
当在同个机子上启动多个相同消费者时,会对这个本地的偏移量造成重复覆盖
原因:
集群模式下的消费者的instanceName会用PID,没有unitName影响不大,广播模式的instanceName是DEFAULT,不同实例之间会重复。

rocketmq出现从机子同步失败,导致mq启动失败

1、发现从机子的commitLog出现错误
2、删除从机子的data 和 config 文件夹,拷贝主机子的data和config文件夹到从机子,然后重启mq

rocketmq从节点配置出错恢复
1、停掉对应的从节点进程
2、备份从节点的data数据
3、修改从节点的brokerName与主节点相同
4、启动从节点,观察是否同步正常

rocketmq 在上报偏移量的时候,会报消费者已经关闭的状态

报错异常如下:
[2020-07-28 19:02:01] ERROR com.xuanwu.msggate.mtoserver.core.mqhandler.consumer.OffsetManager 241 lambda$new 2 − e r r o r w h i l e r u n o f f s e t U p d a t e T h r e a d o r g . a p a c h e . r o c k e t m q . c l i e n t . e x c e p t i o n . M Q C l i e n t E x c e p t i o n : T h e c o n s u m e r i s n o t i n r u n n i n g s t a t u s , S H U T D O W N A L R E A D Y S e e h t t p : / / r o c k e t m q . a p a c h e . o r g / d o c s / f a q / f o r f u r t h e r d e t a i l s . a t o r g . a p a c h e . r o c k e t m q . c l i e n t . i m p l . c o n s u m e r . D e f a u l t M Q P u l l C o n s u m e r I m p l . i s R u n n i n g ( D e f a u l t M Q P u l l C o n s u m e r I m p l . j a v a : 105 )   [ c l a s s e s / : ? ] a t o r g . a p a c h e . r o c k e t m q . c l i e n t . i m p l . c o n s u m e r . D e f a u l t M Q P u l l C o n s u m e r I m p l . f e t c h C o n s u m e O f f s e t ( D e f a u l t M Q P u l l C o n s u m e r I m p l . j a v a : 111 )   [ c l a s s e s / : ? ] a t o r g . a p a c h e . r o c k e t m q . c l i e n t . c o n s u m e r . D e f a u l t M Q P u l l C o n s u m e r . f e t c h C o n s u m e O f f s e t ( D e f a u l t M Q P u l l C o n s u m e r . j a v a : 381 )   [ c l a s s e s / : ? ] a t c o m . x u a n w u . m s g g a t e . m t o s e r v e r . c o r e . m q h a n d l e r . c o n s u m e r . O f f s e t M a n a g e r . l a m b d a 2 - error while run offsetUpdateThread org.apache.rocketmq.client.exception.MQClientException: The consumer is not in running status, SHUTDOWN_ALREADY See http://rocketmq.apache.org/docs/faq/ for further details. at org.apache.rocketmq.client.impl.consumer.DefaultMQPullConsumerImpl.isRunning(DefaultMQPullConsumerImpl.java:105) ~[classes/:?] at org.apache.rocketmq.client.impl.consumer.DefaultMQPullConsumerImpl.fetchConsumeOffset(DefaultMQPullConsumerImpl.java:111) ~[classes/:?] at org.apache.rocketmq.client.consumer.DefaultMQPullConsumer.fetchConsumeOffset(DefaultMQPullConsumer.java:381) ~[classes/:?] at com.xuanwu.msggate.mtoserver.core.mqhandler.consumer.OffsetManager.lambda 2errorwhilerunoffsetUpdateThreadorg.apache.rocketmq.client.exception.MQClientException:Theconsumerisnotinrunningstatus,SHUTDOWNALREADYSeehttp://rocketmq.apache.org/docs/faq/forfurtherdetails.atorg.apache.rocketmq.client.impl.consumer.DefaultMQPullConsumerImpl.isRunning(DefaultMQPullConsumerImpl.java:105) [classes/:?]atorg.apache.rocketmq.client.impl.consumer.DefaultMQPullConsumerImpl.fetchConsumeOffset(DefaultMQPullConsumerImpl.java:111) [classes/:?]atorg.apache.rocketmq.client.consumer.DefaultMQPullConsumer.fetchConsumeOffset(DefaultMQPullConsumer.java:381) [classes/:?]atcom.xuanwu.msggate.mtoserver.core.mqhandler.consumer.OffsetManager.lambdanew 2 ( O f f s e t M a n a g e r . j a v a : 229 )   [ c l a s s e s / : ? ] a t j a v a . u t i l . c o n c u r r e n t . E x e c u t o r s 2(OffsetManager.java:229) ~[classes/:?] at java.util.concurrent.Executors 2(OffsetManager.java:229) [classes/:?]atjava.util.concurrent.ExecutorsRunnableAdapter.call(Executors.java:511) [?:1.8.0_171]
at java.util.concurrent.FutureTask.run$$ c a p t u r e ( F u t u r e T a s k . j a v a : 266 ) [ ? : 1.8. 0 1 71 ] a t j a v a . u t i l . c o n c u r r e n t . F u t u r e T a s k . r u n ( F u t u r e T a s k . j a v a ) [ ? : 1.8. 0 1 71 ] a t j a v a . u t i l . c o n c u r r e n t . T h r e a d P o o l E x e c u t o r . r u n W o r k e r ( T h r e a d P o o l E x e c u t o r . j a v a : 1149 ) [ ? : 1.8. 0 1 71 ] a t j a v a . u t i l . c o n c u r r e n t . T h r e a d P o o l E x e c u t o r capture(FutureTask.java:266) [?:1.8.0_171] at java.util.concurrent.FutureTask.run(FutureTask.java) [?:1.8.0_171] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:1.8.0_171] at java.util.concurrent.ThreadPoolExecutor capture(FutureTask.java:266)[?:1.8.0171]atjava.util.concurrent.FutureTask.run(FutureTask.java)[?:1.8.0171]atjava.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)[?:1.8.0171]atjava.util.concurrent.ThreadPoolExecutorWorker.run(ThreadPoolExecutor.java:624) [?:1.8.0_171]
at java.lang.Thread.run(Thread.java:748) [?:1.8.0_171]
这个报错是因为上报的时候 消费者已经关闭了。
这个出现的情况要分析,当消费者关闭的时候,是无法上报的,这个时候就不要上报。

rocketmq-console 启动命令

java -jar rocketmq-console-ng-1.0.1.jar --rocketmq.config.namesrvAddr=127.0.0.1:9876 --server.port=8181

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值