# RocketMQ Tools - Broker 相关命令文档
基于 rocketmq-tools 模块代码实现,以下是 broker 相关的命令行使用文档。
## 命令概述
使用方式:`mqadmin <commandName> [options]`
---
## 1. brokerConsumeStats - 获取 Broker 消费统计数据
**功能说明**:获取指定 Broker 的消费统计数据,包括 topic、消费组、偏移量等信息。
**语法**:
```bash
mqadmin brokerConsumeStats -b <brokerAddr> [options]
必需参数:
| 参数 | 长参数 | 说明 |
|---|---|---|
-b |
--brokerAddr |
Broker 地址(必填) |
可选参数:
| 参数 | 长参数 | 说明 | 默认值 |
|---|---|---|---|
-t |
--timeoutMillis |
请求超时时间(毫秒) | 50000 |
-l |
--level |
打印差异的阈值 | 0 |
-o |
--order |
是否为顺序主题 | false |
使用示例:
# 查询指定 broker 的消费统计
mqadmin brokerConsumeStats -b 192.168.1.100:10911
# 设置超时时间和差异阈值
mqadmin brokerConsumeStats -b 192.168.1.100:10911 -t 30000 -l 100
# 查询顺序主题的消费统计
mqadmin brokerConsumeStats -b 192.168.1.100:10911 -o true
输出字段:
- Topic:主题名称
- Group:消费组名称
- Broker Name:Broker 名称
- QID:队列 ID
- Broker Offset:Broker 偏移量
- Consumer Offset:消费者偏移量
- Diff:差异值(Broker Offset - Consumer Offset)
- LastTime:最后消费时间
2. brokerStatus - 获取 Broker 运行状态
功能说明:获取 Broker 的运行时状态信息。
语法:
mqadmin brokerStatus [options]
可选参数:
| 参数 | 长参数 | 说明 |
|---|---|---|
-b |
--brokerAddr |
Broker 地址 |
-c |
--clusterName |
集群名称 |
使用示例:
# 查询指定 broker 的运行状态
mqadmin brokerStatus -b 192.168.1.100:10911
# 查询集群内所有 broker 的运行状态
mqadmin brokerStatus -c DefaultCluster
3. cleanExpiredCQ - 清理过期 ConsumeQueue
功能说明:清理 Broker 上过期的消费队列文件。
语法:
mqadmin cleanExpiredCQ [options]
可选参数:
| 参数 | 长参数 | 说明 |
|---|---|---|
-b |
--brokerAddr |
Broker 地址 |
-c |
--cluster |
集群名称 |
使用示例:
# 清理指定 broker 的过期消费队列
mqadmin cleanExpiredCQ -b 192.168.1.100:10911
# 清理集群内所有 broker 的过期消费队列
mqadmin cleanExpiredCQ -c DefaultCluster
返回值:success 或 false
4. cleanUnusedTopic - 清理未使用的 Topic
功能说明:清理 Broker 上未使用的主题。
语法:
mqadmin cleanUnusedTopic [options]
可选参数:
| 参数 | 长参数 | 说明 |
|---|---|---|
-b |
--brokerAddr |
Broker 地址 |
-c |
--cluster |
集群名称 |
使用示例:
# 清理指定 broker 的未使用主题
mqadmin cleanUnusedTopic -b 192.168.1.100:10911
# 清理集群内所有 broker 的未使用主题
mqadmin cleanUnusedTopic -c DefaultCluster
返回值:success 或 false
5. deleteExpiredCommitLog - 删除过期的 CommitLog 文件
功能说明:删除过期的提交日志文件,释放磁盘空间。
语法:
mqadmin deleteExpiredCommitLog [options]
可选参数:
| 参数 | 长参数 | 说明 |
|---|---|---|
-n |
--namesrvAddr |
Name Server 地址 |
-b |
--brokerAddr |
Broker 地址 |
-c |
--cluster |
集群名称 |
使用示例:
# 删除指定 broker 的过期 commitlog
mqadmin deleteExpiredCommitLog -b 192.168.1.100:10911
# 删除集群内所有 broker 的过期 commitlog
mqadmin deleteExpiredCommitLog -c DefaultCluster
# 指定 namesrv 地址
mqadmin deleteExpiredCommitLog -n 192.168.1.100:9876 -c DefaultCluster
返回值:success 或 false
6. getBrokerConfig - 获取 Broker 配置
功能说明:获取指定 Broker 或集群的配置信息。
语法:
mqadmin getBrokerConfig [options]
可选参数:
| 参数 | 长参数 | 说明 |
|---|---|---|
-b |
--brokerAddr |
Broker 地址 |
-c |
--clusterName |
集群名称 |
使用示例:
# 获取指定 broker 的配置
mqadmin getBrokerConfig -b 192.168.1.100:10911
# 获取集群内所有 master 和 slave 的配置
mqadmin getBrokerConfig -c DefaultCluster
输出格式:
============192.168.1.100:10911============
brokerIp1 = 192.168.1.100
brokerName = broker-a
clusterName = DefaultCluster
...
7. sendMsgStatus - 发送消息测试状态
功能说明:向 Broker 发送测试消息,用于检测消息发送状态和性能。
语法:
mqadmin sendMsgStatus -b <brokerName> [options]
必需参数:
| 参数 | 长参数 | 说明 |
|---|---|---|
-b |
--brokerName |
Broker 名称(必填) |
可选参数:
| 参数 | 长参数 | 说明 | 默认值 |
|---|---|---|---|
-s |
--messageSize |
消息大小(字节) | 128 |
-c |
--count |
发送消息数量 | 50 |
使用示例:
# 使用默认参数发送测试消息
mqadmin sendMsgStatus -b broker-a
# 指定消息大小和数量
mqadmin sendMsgStatus -b broker-a -s 256 -c 100
输出格式:
rt=15ms, SendResult=SendResult [sendStatus=SEND_OK, msgId=..., offsetMsgId=..., queueId=0]
...
8. updateBrokerConfig - 更新 Broker 配置
功能说明:更新指定 Broker 或集群的配置项。
语法:
mqadmin updateBrokerConfig -k <key> -v <value> [options]
必需参数:
| 参数 | 长参数 | 说明 |
|---|---|---|
-k |
--key |
配置项名称(必填) |
-v |
--value |
配置项值(必填) |
可选参数:
| 参数 | 长参数 | 说明 |
|---|---|---|
-b |
--brokerAddr |
Broker 地址 |
-c |
--clusterName |
集群名称 |
使用示例:
# 更新指定 broker 的配置
mqadmin updateBrokerConfig -b 192.168.1.100:10911 -k maxMessageSize -v 4194304
# 更新集群内所有 master 的配置
mqadmin updateBrokerConfig -c DefaultCluster -k flushCommitLogLeastPages -v 4
输出格式:
update broker config success, 192.168.1.100:10911
通用参数说明
所有命令都支持 Name Server 地址配置:
mqadmin <command> -n <namesrv_addr> [other options]
例如:
mqadmin brokerStatus -n 192.168.1.100:9876 -b 192.168.1.100:10911
相关源码文件
tools/src/main/java/org/apache/rocketmq/tools/command/broker/BrokerConsumeStatsSubCommad.javatools/src/main/java/org/apache/rocketmq/tools/command/broker/BrokerStatusSubCommand.javatools/src/main/java/org/apache/rocketmq/tools/command/broker/CleanExpiredCQSubCommand.javatools/src/main/java/org/apache/rocketmq/tools/command/broker/CleanUnusedTopicCommand.javatools/src/main/java/org/apache/rocketmq/tools/command/broker/DeleteExpiredCommitLogSubCommand.javatools/src/main/java/org/apache/rocketmq/tools/command/broker/GetBrokerConfigCommand.javatools/src/main/java/org/apache/rocketmq/tools/command/broker/SendMsgStatusCommand.javatools/src/main/java/org/apache/rocketmq/tools/command/broker/UpdateBrokerConfigSubCommand.java