当前位置: 首页 > news >正文

rocketmq一些异常记录

rocketmq一些异常记录
Product 设置不重复发送 发送 一次失败,不会在被发送到mq消息队列中,相当于消息丢失。
2、
Consumer 消费失败 重试三次消费 都失败 则消息消费失败,失败后 会放入 死信队列,可以手动处理在mq面板 处理死信队列里的消息 触发重新消费。
几乎没有这样的场景,代码已经优化处理完成,已经使用全局try catch处理。

问题一、
1、明明项目服务配置的是远程的 mqserver地址 ,但是服务就是之请求 127.0.1、0.1:9876 ,因为本地没有服务 所以 就提示 远程请求失败。
但是远程服务 一切正常、 防火墙也正常
经排查 就是 配置文件 因为版本不同 所以指定server的属性名字也不同
这个配置不生效

binder:
namesrv-addr

名字修改
name-server

问题二、
发送消息到 rocketmq 服务端失败
Caused by: org.apache…rocketmq.client.exception.MQBrokerException: CODE 14 DESC: service not available now. It may be caused by one of the following reasons: the broker’s disk is full [CL: 0.92 CQ: 0.92 INDEX: 0.92], messages are put to the slave, message store has be

原因:
因为linux的盘符使用 占满 只剩 430k了 ,已经超过 99%了
所以线上向mq 服务端发消息失败。导致很多任务无法结束
后来是因为 我们的文件服务器 有人一次性上了 10G左右的文件导致。
因为我们给 服务存放的空间设置有限。固定盘符给我们的平台使用。

解决方法:
在 conf 文件夹下 broker.conf文件最后面添加如下属性
diskMaxUsedSpaceRatio=99

在 runserver.sh 、runbroker.sh 中 扩大内存

问题三、
Linux centos7 重新配置 mq的路径 store 和 日志路径,然后 broker 无法启动 报错
Broker.log 里的错误很少
决办法 是应为 修改完路径后 store里面的
主要原因是创建了abort、checkpoint这两个文件夹 将这两个文件夹删掉就行了。这两个是文件,不应该是文件夹

问题四、
记录异常 rocketmq的 异常事故
生产服务器上 有一个 rocketmq的 server 和 brocker ip= 10.82.xxx.1

测试服务器 也部署了一套rocketmq的 server 和brocker ip=10.82.xxx.2
我在测试服务器上 启动server 然后 要启动 brocker
执行命令
nohup sh mqbroker -n 10.82.xxx.2:9876 autoCreateTopicEnable=true -c broker.conf &
但是不小心 将 这里的 ip指向了生产服务器的ip
导致 生产上 通过控制台 查看 发现 集群那里显示的 brocker 竟然是 测试环境的 ip地址。
然后 就发生了 生产环境的 consumer 在不断地消费 测试环境上的 历史的 消息。导致数据库 入库了很多 错误的数据库。
最后 解决方式 就是 将 生产的 rocketmq 的 store文件夹都删除,然后重新创建了 一个空的 store 文件夹 ,重新启动 rocketmq 服务 server 和 brocker 。这下就好了。
这个解决方式 只是最简单 的。因为目前并没有 恢复历史数据。 好在我们每天凌晨12点会备份 昨天的 store文件。

其实后续不用删除整个store文件夹
直接删除 store中部分文件
https://blog.csdn.net/fangletian1981/article/details/46709741
只删除 store文件中 如下文件即可
abort abort.bak checkpoint commitlog compaction config consumequeue index lock timerwheel

里面的完全删除 commitlog 、完全删除 consumequeue 、完全删除index
部分删除 config中的 四个文件
consumerOffset.json delayOffset.json consumerOffset.json.bak delayOffset.json.bak

问题 六
rocketmq send time out
Linux rocketmq连接超时
生产服务器正常,只有测试环境rocketmq出现这个错误

最总找到的原因 是 公司安装的一个安全软件 导致的,电脑关闭这个软件 ,mq就能正常访问了。 如果不关闭 访问控制台时 会提示 你没有访问的权限。 mq的控制面板
http://10.xxx.xxx:8082mq的控制面板,关闭这个 sdp的安全软件就好了。

http://www.xdnf.cn/news/174259.html

相关文章:

  • Linux中线程池的简单实现 -- 线程安全的日志模块,策略模式,线程池的封装设计,单例模式,饿汉式单例模式,懒汉式单例模式
  • 自然语言处理之机器翻译:注意力机制在低资源翻译中的突破与哲思
  • MIT XV6 - 1.1 Lab: Xv6 and Unix utilities - sleep
  • 时空特征如何融合?LSTM+Resnet有奇效,SOTA方案预测准确率超91%
  • 2025系统架构师---解释器架构风格‌
  • 单例模式:确保类的唯一实例
  • 类间@符号装饰器
  • php:实现窗口选择数据,并返回给主页面
  • Alibaba Druid 完整配置与 Keepalive 优化指南
  • 前端分页与瀑布流最佳实践笔记 - React Antd 版
  • 前端-介绍一个好用的波浪背景生成器
  • 《操作系统真象还原》第十章(1)——输入输出系统
  • Java 设计模式
  • ADS基本操作之AC仿真
  • rt-linux下的D状态的堆栈抓取及TASK_RTLOCK_WAIT状态
  • AVFormatContext 再分析
  • 手写SpringMVC(基本框架)
  • 视觉“解锁”触觉操控:Franka机器人如何玩转刚柔物体?
  • matlab simulink中理想变压激磁电流容易有直流偏置的原因分析。
  • C++ AVL树的实现
  • 日语学习-日语知识点小记-进阶-JLPT-N2阶段(9):语法单词
  • 目标跟踪最新文章阅读列表
  • 极简主义在 UI 设计中的应用与实践:打造简洁高效界面
  • 基于定制开发开源AI智能名片S2B2C商城小程序的会员存量池构建策略研究
  • MCP:人工智能时代的HTTP?探索AI通信新标准
  • cached-property - 类属性缓存装饰器
  • 如何让自己的博客可以在百度、谷歌、360上搜索到(让自己写的CSDN博客可以有更多的人看到)
  • Win11 配置 Git 绑定 Github 账号的方法与问题汇总
  • 有效的字母异位词
  • 10 DPSK原始对话记录