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

RocketMQ mqadmin 排查与模拟

目录标题

  • RocketMQ mqadmin 排查与模拟
    • 一、环境背景说明
    • 二、核心概念速记
    • 三、查看 Topic 是否有生产
    • 四、查看 Topic 的生产 / 消费速率(最推荐)
    • 五、如何查看 ConsumerGroup(重点)
      • 1️⃣ 查看当前所有 ConsumerGroup
      • 2️⃣ 查看某个 ConsumerGroup 的消费情况
      • 3️⃣ 判断 Consumer 是否在线
    • 六、mqadmin 模拟生产(安全)
    • 七、mqadmin 模拟消费(⚠️慎用)
      • 只读不推 offset(安全)
      • 推进 offset(有风险)
    • 八、mqadmin 能做 / 不能做的事
      • ✅ 能做
      • ❌ 不能做
    • 九、标准排障流程(推荐记住)
    • 十、运维重要提醒
    • 十一、常用参数说明
    • 十二、官方文档链接
      • 📚 核心文档
      • 常用命令快速参考
    • 十三、一句话总结

RocketMQ mqadmin 排查与模拟

适用场景:

  • 不清楚某个 Topic 是否有生产 / 消费
  • 不知道 ConsumerGroup 是什么
  • mqadmin 命令部分不可用(版本差异)
  • 需要用 mqadmin 做最小化排障、验证链路

一、环境背景说明

当前环境使用的 mqadmin 路径:

/root/rocketmq/broker/bin/mqadmin

该 mqadmin 特点:

  • ✅ 功能较完整
  • ✅ 支持consumeMessage(可模拟消费)
  • ❌ 不支持consumerList/topicConsumeStatus
  • 属于定制 / 增强版 mqadmin(命令名与 Apache 官方新版略有差异)

二、核心概念速记

概念说明
Topic生产侧逻辑概念(消息写入)
ConsumerGroup消费侧逻辑概念(offset 归属)
#InTPSTopic 生产速率(每秒写入消息数)
#OutTPSTopic 消费速率(每秒消费消息数)
#Accumulation消息堆积量(BrokerOffset - ConsumerOffset)

⚠️ Topic 与 ConsumerGroup不是一对一关系


三、查看 Topic 是否有生产

mqadmin topicStatus-n<NameSrv>-t<Topic>

示例输出:

#Broker Name #QID #Min Offset #Max Offset #Last Updated rocketmq-ddffdb1a-0 0 0 22 2025-12-31 07:04:47,308

关注字段:#MaxOffset

判断逻辑:

  • MaxOffset 持续增长 → 有生产
  • MaxOffset 不变 → 无生产 / 生产异常

四、查看 Topic 的生产 / 消费速率(最推荐)

mqadmin statsAll-n<NameSrv>|grep<Topic>

示例输出:

#Topic #Consumer Group #Accumulation #InTPS #OutTPS #InMsg24Hour #OutMsg24Hour bpx-topic 0 0.00 0.00 20 NO_CONSUMER

字段含义:

  • #InTPS:生产速率(msg/s)
  • #OutTPS:消费速率(msg/s)
  • #Accumulation:消息堆积量

判断:

  • #InTPS > #OutTPS → 正在堆积
  • #InTPS ≈ #OutTPS → 消费跟得上
  • NO_CONSUMER→ 无消费者订阅该 Topic

五、如何查看 ConsumerGroup(重点)

1️⃣ 查看当前所有 ConsumerGroup

mqadmin consumerProgress-n<NameSrv>

示例输出:

#Group #Count #Version #Type #Model #TPS #Diff Total bpx-consumer-group 0 OFFLINE 0 0 TOOLS_CONSUMER 3 V4_9_4 PULL 0 0

说明:

  • GroupName 即 ConsumerGroup
  • 可同时看到堆积量(#Diff Total)、消费速率(#TPS)
  • OFFLINE 表示该 Consumer 当前未在线

2️⃣ 查看某个 ConsumerGroup 的消费情况

mqadmin consumerProgress-n<NameSrv>-g<ConsumerGroup>

用途:

  • 判断该 Group 是否堆积
  • 判断消费是否正常推进

3️⃣ 判断 Consumer 是否在线

mqadmin consumerConnection-n<NameSrv>-g<ConsumerGroup>

示例输出(在线):

#ClientId #ClientAddr #Language #Version 245.0.1.220@consumer-xxx@STREAM 245.0.1.220:40726 JAVA V4_9_4

判断:

  • 有客户端信息 → Consumer 正常在线
  • 无输出 / 报错 → Consumer 未启动或异常

六、mqadmin 模拟生产(安全)

mqadmin sendMessage\-n<NameSrv>\-t<Topic>\-p"mqadmin test message"

示例输出:

#Broker Name #QID #Send Result #MsgId rocketmq-ddffdb1a-0 0 SEND_OK F500033F033A3AF49F1C9C0758D10000

用途:

  • 验证 Topic 是否可写
  • 验证 Broker 是否正常
  • 验证消费链路是否能收到消息

七、mqadmin 模拟消费(⚠️慎用)

⚠️风险说明

  • 不指定-g参数:只读取消息,不推进 offset(相对安全)
  • 指定-g <ConsumerGroup>参数:会推进该 Group 的 offset(生产环境慎用)

只读不推 offset(安全)

mqadmin consumeMessage\-n<NameSrv>\-t<Topic>\-c10

推进 offset(有风险)

mqadmin consumeMessage\-n<NameSrv>\-t<Topic>\-g<ConsumerGroup>\-c10

说明:

  • 属于"运维级假消费"
  • 适合排障 / 验证,不等同真实业务消费
  • 建议先查看帮助:mqadmin help consumeMessage

八、mqadmin 能做 / 不能做的事

✅ 能做

  • 模拟生产消息
  • 拉取消息(假消费)
  • 查看 Topic 状态
  • 查看 TPS / 堆积
  • 查询消息

❌ 不能做

  • 模拟真实业务消费逻辑
  • 执行完整 rebalance
  • 精准压测消费者性能

真实消费必须使用:

  • 官方示例 Consumer
  • 自定义 SDK Consumer

九、标准排障流程(推荐记住)

1️⃣ topicStatus → 是否有生产 2️⃣ statsAll → 生产 / 消费 TPS 3️⃣ consumerProgress → 谁在消费 + 是否堆积 4️⃣ consumerConnection → Consumer 是否在线

十、运维重要提醒

⚠️生产环境慎用以下命令:

命令风险
consumeMessage -g <Group>推进 offset,可能丢失消息
resetOffsetByTime重置 offset,可能重复消费或跳过消息
skipAccumulatedMessage跳过堆积消息,造成业务消息丢失

十一、常用参数说明

参数含义
-nNameServer 地址,格式ip:port,多个用分号分隔
-tTopic 名称
-gConsumerGroup 名称
-bBroker 地址或名称
-h查看帮助
-c数量(如消息条数)

十二、官方文档链接

📚 核心文档

文档链接
Admin Tool 官方文档(中文)rocketmq.apache.org/zh/docs/deploymentOperations/02admintool
Admin Tool 官方文档(English)rocketmq.apache.org/docs/deploymentOperations/02admintool
Apache RocketMQ 官网rocketmq.apache.org
Apache RocketMQ GitHubgithub.com/apache/rocketmq

常用命令快速参考

类别命令说明
TopictopicList查看所有 Topic
TopictopicStatus查看 Topic 消息队列 offset
TopictopicRoute查看 Topic 路由信息
TopicstatsAll打印订阅关系、TPS、积累量等
消费consumerProgress查看消费状态和进度
消费consumerConnection查询 Consumer 网络连接
消费consumerStatus查看消费者详细状态
消息sendMessage发送一条测试消息
消息consumeMessage消费消息(可指定 offset)
消息queryMsgById根据 msgId 查询消息
消息queryMsgByKey根据 Key 查询消息
集群clusterList查看集群信息
集群brokerStatus查看 Broker 运行状态

十三、一句话总结

在 RocketMQ 中:

  • Topic 看生产
  • ConsumerGroup 看消费
  • statsAll 看吞吐
  • consumerProgress 看堆积

这四点,能解决 90% 的 RocketMQ 排障问题。


Sources:

  • Admin Tool - Apache RocketMQ
http://www.rkmt.cn/news/188211.html

相关文章:

  • YOLOv8训练教程:基于COCO8数据集的完整实践指南
  • YOLOv8镜像支持IPv6 DNS解析加速
  • YOLOv5到YOLOv8迁移指南:开发者必须掌握的升级路径
  • 找出数组中驻点和拐点
  • 代码漏洞藏隐患?Java安全防护神器,分钟级闭环修复
  • GLM-4.7编程环境10分钟搭建指南:3种官方配置方法,实测有效,一键即用!
  • YOLOv8如何实现旋转框检测功能?
  • YOLOv8训练时如何使用标签平滑Label Smoothing?
  • 揭秘R语言时间序列建模瓶颈:3步实现预测性能翻倍
  • YOLOv8镜像支持ARM架构处理器运行
  • YOLOv8镜像定期同步Ultralytics最新代码
  • 电子产品为什么要做FCC认证?
  • YOLOv8推理时如何实现动态批处理?
  • 论文解读-《Rethinking Graph Structure Learning in the Era of LLMs》 - zhang
  • 基于YOLO11的轨道交通车站客流密度实时监测与拥挤预警系统(数据集+UI界面+训练代码+数据分析)
  • 【高并发系统必看】:PHP跨域请求中的预检风暴与优化策略
  • YOLOv8推理时支持批量图像输入吗?
  • 突破传统监控:基于YOLO的人员异常行为检测与识别智能安防监控系统设计
  • 服务网格时代,PHP后端架构转型的3个生死抉择
  • 2025 国内细胞罐生产厂家推荐,哪个品牌好?上海保兴细胞罐实力厂家 - 品牌推荐大师
  • YOLOv8镜像集成Prometheus监控组件
  • 物品复活系统总结
  • 实验室 / 全自动 / 快速笼盒/ 玻璃器皿 / 便盆/医用污物 / 隧道式笼盒 / 饮水瓶清洗机生产厂家盘点:哪家口碑好、评价高值得选? - 品牌推荐大师1
  • YOLOv8模型量化为FP16后的精度变化
  • 构建企业级图像识别API:PHP+Python双引擎架构揭秘
  • 2026年找二次元影像测量仪靠谱供应商?这几家生产企业值得关注 - 品牌推荐大师1
  • YOLOv8模型部署到移动端的可行性分析
  • 为什么你的PHP图像识别接口延迟高?90%开发者忽略的底层机制
  • 日志分析效率提升80%,PHP异常检测必备的3种高级模式识别技巧
  • YOLOv8镜像内置Ultranalytics库功能全面介绍