searchusermenu
  • 发布文章
  • 消息中心
点赞
收藏
评论
分享
原创

Rocketmq原生运维命令指引——Broker相关

2026-04-01 18:30:59
0
0
# 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

返回值successfalse


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

返回值successfalse


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

返回值successfalse


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.java
  • tools/src/main/java/org/apache/rocketmq/tools/command/broker/BrokerStatusSubCommand.java
  • tools/src/main/java/org/apache/rocketmq/tools/command/broker/CleanExpiredCQSubCommand.java
  • tools/src/main/java/org/apache/rocketmq/tools/command/broker/CleanUnusedTopicCommand.java
  • tools/src/main/java/org/apache/rocketmq/tools/command/broker/DeleteExpiredCommitLogSubCommand.java
  • tools/src/main/java/org/apache/rocketmq/tools/command/broker/GetBrokerConfigCommand.java
  • tools/src/main/java/org/apache/rocketmq/tools/command/broker/SendMsgStatusCommand.java
  • tools/src/main/java/org/apache/rocketmq/tools/command/broker/UpdateBrokerConfigSubCommand.java

0条评论
0 / 1000
c****n
5文章数
2粉丝数
c****n
5 文章 | 2 粉丝
原创

Rocketmq原生运维命令指引——Broker相关

2026-04-01 18:30:59
0
0
# 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

返回值successfalse


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

返回值successfalse


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

返回值successfalse


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.java
  • tools/src/main/java/org/apache/rocketmq/tools/command/broker/BrokerStatusSubCommand.java
  • tools/src/main/java/org/apache/rocketmq/tools/command/broker/CleanExpiredCQSubCommand.java
  • tools/src/main/java/org/apache/rocketmq/tools/command/broker/CleanUnusedTopicCommand.java
  • tools/src/main/java/org/apache/rocketmq/tools/command/broker/DeleteExpiredCommitLogSubCommand.java
  • tools/src/main/java/org/apache/rocketmq/tools/command/broker/GetBrokerConfigCommand.java
  • tools/src/main/java/org/apache/rocketmq/tools/command/broker/SendMsgStatusCommand.java
  • tools/src/main/java/org/apache/rocketmq/tools/command/broker/UpdateBrokerConfigSubCommand.java

文章来自个人专栏
文章 | 订阅
0条评论
0 / 1000
请输入你的评论
0
0