news 2026/6/26 6:49:22

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/6/25 15:34:46

YOLOv8镜像默认开启CPU频率高性能模式

YOLOv8镜像默认开启CPU频率高性能模式 在当前AI视觉应用快速落地的背景下&#xff0c;一个看似微小却影响深远的系统级设计——默认启用CPU高性能模式&#xff0c;正在悄然改变开发者使用深度学习工具的方式。尤其在基于YOLOv8构建的专用镜像中&#xff0c;这项优化不再是可选项…

作者头像 李华
网站建设 2026/6/25 10:00:53

数据科学家不愿公开的秘密:R语言随机森林分类优化技巧,速看!

第一章&#xff1a;数据科学家不愿公开的秘密&#xff1a;R语言随机森林分类优化技巧概览在实际建模过程中&#xff0c;许多数据科学家发现随机森林虽强大&#xff0c;但默认参数往往无法发挥其全部潜力。通过精细调参与特征工程配合&#xff0c;模型准确率可显著提升。以下是一…

作者头像 李华
网站建设 2026/6/25 10:00:52

JUnit 5 新特性详解与最佳实践

JUnit 5&#xff0c;作为Java生态系统中最主流的单元测试框架&#xff0c;自2017年发布以来&#xff0c;彻底改变了测试开发范式。相比JUnit 4&#xff0c;它引入了模块化架构、Lambda支持等创新&#xff0c;显著提升了测试的灵活性和可维护性。对于软件测试从业者而言&#xf…

作者头像 李华
网站建设 2026/6/23 21:57:37

还在用AI生搬硬套?这6款免费工具,知网维普查重无痕过!

别再让AI写作坑了你&#xff01;这3个错误正在毁掉你的论文 还在用ChatGPT生搬硬套写论文&#xff1f; 还在为AI生成的内容重复率超标失眠&#xff1f; 还在被导师指着屏幕骂“这就是你所谓的原创&#xff1f;”&#xff1f; 如果你对以上任何一个问题点头&#xff0c;那么这…

作者头像 李华