news 2026/8/14 23:52:52

RocketMQ mqadmin 排查与模拟

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
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
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/10 17:02:12

论文降AI率全流程详解:从30%降到20%以下怎么做

一、为什么手动降重总翻车&#xff1f;学术党必知的3大痛点“明明查重率达标了&#xff0c;导师却说论文有AI味要求重写&#xff01;”——这是不是你的真实写照&#xff1f;很多同学误以为同义词替换调整句式就能蒙混过关&#xff0c;结果陷入三大困局&#xff1a;❌ 痛点1&am…

作者头像 李华
网站建设 2026/8/10 9:47:17

YOLOv8如何实现文字区域检测任务?

YOLOv8如何实现文字区域检测任务&#xff1f; 在智能文档处理日益普及的今天&#xff0c;如何从一张扫描发票、合同或书籍页面中快速而准确地“找出哪些地方有字”&#xff0c;已成为OCR系统成败的关键。传统方法依赖边缘检测和连通域分析&#xff0c;面对复杂背景、倾斜排版或…

作者头像 李华
网站建设 2026/8/14 17:23:54

YOLOv8训练参数详解:epochs、imgsz、data配置说明

YOLOv8训练参数详解&#xff1a;epochs、imgsz、data配置说明 在目标检测的实际项目中&#xff0c;我们常常面临这样的困境&#xff1a;模型训练了上百轮却依然漏检严重&#xff0c;或者推理速度慢得无法部署到边缘设备。问题的根源往往不在于算法本身&#xff0c;而在于那些看…

作者头像 李华
网站建设 2026/7/31 0:37:44

YOLOv8 SPPF模块作用机制详解

YOLOv8中的SPPF模块&#xff1a;轻量高效的空间上下文增强机制 在目标检测领域&#xff0c;速度与精度的平衡始终是工程实践的核心挑战。尤其是在无人机航拍、智能监控和移动端视觉应用中&#xff0c;模型不仅要准确识别尺度差异极大的物体——从远处的小行人到近处的大车辆——…

作者头像 李华
网站建设 2026/8/12 14:10:14

YOLOv8如何替换主干网络?自定义Backbone教程

YOLOv8如何替换主干网络&#xff1f;自定义Backbone教程 在目标检测的实际落地过程中&#xff0c;我们常常会遇到这样的问题&#xff1a;标准模型虽然在COCO等通用数据集上表现优异&#xff0c;但在特定场景下却“水土不服”——比如在边缘设备上跑得太慢&#xff0c;或者对小…

作者头像 李华