news 2026/5/11 14:07:53

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/5/7 6:22:24

激光雷达(Lidar)介绍

概述 激光雷达&#xff08;LiDAR&#xff0c;Light Detection and Ranging&#xff09;&#xff0c;即激光探测和测距&#xff0c;又称光学雷达。 在自动驾驶领域&#xff0c;激光雷达的作用类似人的眼睛&#xff0c;通过发射和接收反射回来的激光束对周围环境进行实时扫描&am…

作者头像 李华
网站建设 2026/5/5 13:07:25

YOLOv8如何实现人脸口罩佩戴检测?

YOLOv8实现人脸口罩佩戴检测的完整实践路径 在医院走廊、地铁闸机口或学校门口&#xff0c;你是否注意到那些默默工作的摄像头正悄悄“看”着每个人有没有戴好口罩&#xff1f;这背后并非人工值守&#xff0c;而是由AI驱动的视觉系统在实时判断。随着公共卫生意识的常态化&…

作者头像 李华
网站建设 2026/5/4 9:41:15

如何用R语言将时间序列预测误差降低60%?答案在这3个方法

第一章&#xff1a;R语言时间序列预测误差优化概述在构建时间序列预测模型时&#xff0c;预测误差的大小直接影响模型的实用性和可靠性。R语言提供了丰富的工具和包&#xff08;如forecast、tseries、smooth等&#xff09;&#xff0c;支持对ARIMA、ETS、季节性分解等经典方法进…

作者头像 李华
网站建设 2026/5/3 7:40:15

无需复杂配置!YOLOv8预装镜像让深度学习更简单

无需复杂配置&#xff01;YOLOv8预装镜像让深度学习更简单 在智能摄像头自动识别行人、工厂流水线实时检测缺陷、无人机视觉导航等场景背后&#xff0c;目标检测技术正悄然改变着我们与世界交互的方式。而在这股浪潮中&#xff0c;YOLOv8 凭借其出色的推理速度和精度平衡&#…

作者头像 李华
网站建设 2026/5/9 8:05:50

YOLOv8实战教程:如何在GPU环境下快速部署目标检测模型

YOLOv8实战教程&#xff1a;如何在GPU环境下快速部署目标检测模型架构演进与现实挑战 在智能监控摄像头遍布街头巷尾的今天&#xff0c;一个核心问题始终困扰着开发者&#xff1a;如何让目标检测模型既快又准地跑起来&#xff1f; 尤其是在边缘设备资源受限、实时性要求极高的场…

作者头像 李华
网站建设 2026/5/11 2:57:52

YOLOv8训练教程:基于COCO8数据集的完整实践指南

YOLOv8训练实践&#xff1a;从零开始的高效目标检测之旅 在智能摄像头自动识别行人、无人机实时追踪移动物体、工业质检系统快速定位缺陷的今天&#xff0c;目标检测早已不再是实验室里的概念&#xff0c;而是深入到我们生活与生产中的关键技术。而在这背后&#xff0c;YOLO&am…

作者头像 李华