RocketMQ控制台命令
本文未完成,有空再补充,不小心发布了,抱歉
Rocket版本:4.3.0
这几天在整RocketMQ,可谓是困难重重,其中关于控制台的命令,网上的都是一半一半的,
所以我打算直接用整一个完整的官方的命令的翻译以及使用详解。
其中很多命令我都没用过,反正我尽量将我用过的,知道的命令加以解释吧。
其他没用过的就原文代替,所以本文会随着我的使用而更新。
题外话:关于broker.conf的问题
初始的broker.conf文件一开始只有开头注释和几个配置项,其他配置项并没有在文件里显示,而且我在里面改了deleteWhen这个配置项的时候。
发现并没有生效,也是奇怪。
然后当我偶然用了控制台命令 updateBrokerConf 修改deleteWhen的时候,再去打开broker.conf文件,发现文件内容变成了全部的配置项,那个
开头的注释都不见了,这奇怪吧,如果有哪位仁兄知道的并且想告诉我怎么回事的话,欢迎私信。
命令我就参考网上他们的表格形式吧,好看一点,或者说如果网上只写了10个命令,那我就把剩下的都补上,所以相当于完善,不存在什么抄不抄袭。
原版命令
The most commonly used mqadmin commands are:
updateTopic Update or create topic
deleteTopic Delete topic from broker and NameServer.
updateSubGroup Update or create subscription group
deleteSubGroup Delete subscription group from broker.
updateBrokerConfig Update broker's config
updateTopicPerm Update topic perm
topicRoute Examine topic route info
topicStatus Examine topic Status info
topicClusterList get cluster info for topic
brokerStatus Fetch broker runtime status data
queryMsgById Query Message by Id
queryMsgByKey Query Message by Key
queryMsgByUniqueKey Query Message by Unique key
queryMsgByOffset Query Message by offset
printMsg Print Message Detail
printMsgByQueue Print Message Detail
sendMsgStatus send msg to broker.
brokerConsumeStats Fetch broker consume stats data
producerConnection Query producer's socket connection and client version
consumerConnection Query consumer's socket connection, client version and subscription
consumerProgress Query consumers's progress, speed
consumerStatus Query consumer's internal data structure
cloneGroupOffset clone offset from other group.
clusterList List all of clusters
topicList Fetch all topic list from name server
updateKvConfig Create or update KV config.
deleteKvConfig Delete KV config.
wipeWritePerm Wipe write perm of broker in all name server
resetOffsetByTime Reset consumer offset by timestamp(without client restart).
updateOrderConf Create or update or delete order conf
cleanExpiredCQ Clean expired ConsumeQueue on broker.
cleanUnusedTopic Clean unused topic on broker.
startMonitoring Start Monitoring
statsAll Topic and Consumer tps stats
allocateMQ Allocate MQ
checkMsgSendRT check message send response time
clusterRT List All clusters Message Send RT
getNamesrvConfig Get configs of name server.
updateNamesrvConfig Update configs of name server.
getBrokerConfig Get broker config by cluster or special broker!
queryCq Query cq command.
sendMessage Send a message
consumeMessage Consume message
我靠,44个命令,怪不得网上资料只整了十几个,这有点多啊哈哈,不过,我来做第一个完善的人也不错(不知道是不是第一个)。
那就按着原版命令的顺序来整理吧。其中默认值什么的是看源码里面的,所以版本是4.3.0的。仅供参考。
命令的参数也是按着命令的帮助显示来弄的,其实我就是翻译一下,顺便把用过的给说一下。翻译水准不太行,仅供参考。
其中有一些说明,那就是 -b 参数就是broker,-c 参数就是cluster(集群) ,-n 参数就是nameServer,
它们虽然是可选参数,但其实还是需要填的,因为起码你执行命令要知道是在哪里执行吧。具体看是否必填的说明。
1.updateTopic 更新或创建topic
参数 | 参数原文 | 是否必填 | 默认值 | 说明 |
b | brokerAddr | 如果-c为空,则必填 | broker 地址,表示topic 建在该broker | |
c | clusterName | 如果-b为空,则必填 | cluster 名称,表示topic 建在该cluster | |
h | help | 否 | 命令帮助 | |
n | namesrvAddr | 是 |
nameServer地址列表, 例如:192.168.0.1:9876;192.168.0.2:9876 |
|
o | order | 否 | false |
设置topic的顺序(真|假 ) 顺序什么的,我还没接触过 |
p | perm | 否 | 6 |
设置topic的权限(2 | 4 | 6), 介绍[2:W 4:R; 6:RW] 权限什么的,我也没用过 |
r | readQueueNums | 否 | 8 | 设置读队列的数量 |
s | hasUnitSub | 否 |
原文是has unit sub (true|false sub是订阅组的意思,unit sub 我就不知道了 |
|
t | topic | 是 | topic名字 | |
u | unit | 否 | false |
原文是is unit topic (true|false unit是什么概念啊,我好像没有看到 |
w | writeQueueNums | 否 | 8 | 设置写队列的数量 |
示例: bin/mqadmin updateTopic -b 192.168.10.1:10911 -n 192.168.10.1:9876 -t firstTopic
2.deleteTopic 从broker和NameServer中删除topic
参数 | 参数原文 | 是否必填 | 默认值 | 说明 |
c | clusterName | 是 | cluster 名称,表示从哪个cluster中删除该topic | |
h | help | 否 | 命令帮助 | |
n | namesrvAddr | 是 |
nameServer地址列表, 例如:192.168.0.1:9876;192.168.0.2:9876 |
|
t | topic | 是 | topic名字 |
示例: bin/mqadmin deleteTopic -b 192.168.10.1:10911 -n 192.168.10.1:9876 -t firstTopic
3.updateSubGroup 更新或创建订阅组
参数 | 参数原文 | 是否必填 | 默认值 | 说明 |
a | notifyConsumerIdsChanged | 否 | true |
原文是notify consumerId changed 是通知消费者id改变的意思,但我还不知道 通知谁 |
b | brokerAddr | 如果-c为空,则必填 | broker 地址,表示订阅组 建在该broker | |
c | clusterName | 如果-b为空,则必填 | cluster 名称,表示订阅组 建在该cluster | |
d | consumeBroadcastEnable | 否 | false | 是否开启广播模式 |
g | groupName | 是 | 订阅组名字 | |
h | help | 否 | 命令帮助 | |
i | brokerId | 否 | 0 | 从哪个broker开始消费 |
m | consumeFromMinEnable | 否 | false | 是否从最小位置(offset)开始消费 |
n | namesrvAddr | 是 | nameServer地址列表,
例如:192.168.0.1:9876; 192.168.0.2:9876 |
|
q | retryQueueNums | 否 | 1 | 消费失败的消息放到 个重试队列,
每个订阅组配置的重试队列数量
|
r | retryMaxTimes | 否 | 16 | 重试消费最大次数,超过则投递到死信队列 |
s | consumeEnable | 否 | true | 是否允许消费 |
w | whichBrokerWhenConsumeSlowly | 否 | 1 | 发现消费慢的时候换到别的brokerID |
示例:
bin/mqadmin updateSubGroup -b 192.168.10.1:10911 -n 192.168.10.1:9876 -g firstSubGroup
4.deleteSubGroup 从broker中删除订阅组
参数 | 参数原文 | 是否必填 | 默认值 | 说明 |
b | brokerAddr | 如果-c为空,则必填 | broker 地址,表示从哪个broker中删除该订阅组 | |
c | clusterName | 如果-b为空,则必填 | cluster 名称,表示从哪个cluster中删除该订阅组 | |
h | help | 否 | 命令帮助 | |
n | namesrvAddr | 是 |
nameServer地址列表, 例如:192.168.0.1:9876;192.168.0.2:9876 |
|
g | groupName | 是 | 订阅组名字 |
示例:
bin/mqadmin deleteSubGroup -b 192.168.10.1:10911 -n 192.168.10.1:9876 -g firstSubGroup
5.updateBrokerConfig 在线更新broker的配置(无需重启)
参数 | 参数原文 | 是否必填 | 默认值 | 说明 |
b | brokerAddr | 如果-c为空,则必填 | broker 地址,表示修改哪个broker | |
c | clusterName | 如果-b为空,则必填 | cluster 名称,表示修改哪个cluster的broker | |
h | help | 否 | 命令帮助 | |
n | namesrvAddr | 是 |
nameServer地址列表, 例如:192.168.0.1:9876;192.168.0.2:9876 |
|
k | config key | 是 | 键 | |
v | config value | 是 | 值 |
示例:
bin/mqadmin updateBrokerConfig -b 192.168.10.1:10911 -n 192.168.10.1:9876 -k deleteWhen -v 18
6. updateTopicPerm 更新topic的权限
参数 | 参数原文 | 是否必填 | 默认值 | 说明 |
b | brokerAddr | 如果-c为空,则必填 | broker 地址,表示修改哪个broker | |
c | clusterName | 如果-b为空,则必填 | cluster 名称,表示修改哪个cluster的broker | |
h | help | 否 | 命令帮助 | |
n | namesrvAddr | 是 |
nameServer地址列表, 例如:192.168.0.1:9876;192.168.0.2:9876 |
|
p | permission | 是 |
设置topic的权限(2 | 4 | 6), 介绍[2:W 4:R; 6:RW] 权限什么的,我也没用过 |
|
t | topic name | 是 | topic的名字 |
示例:
bin/mqadmin updateTopicPerm -b 192.168.10.1:10911 -n 192.168.10.1:9876 -p 2 -t firstTopic
7. topicRoute 检查topic的路由信息
参数 | 参数原文 | 是否必填 | 默认值 | 说明 |
h | help | 否 | 命令帮助 | |
n | namesrvAddr | 是 |
nameServer地址列表, 例如:192.168.0.1:9876;192.168.0.2:9876 |
|
t | topic name | 是 | topic的名字 |
示例: bin/mqadmin topicRoute -n 192.168.10.1:9876 -t firstTopic
8. topicStatus 检查topic的状态信息
参数 | 参数原文 | 是否必填 | 默认值 | 说明 |
h | help | 否 | 命令帮助 | |
n | namesrvAddr | 是 |
nameServer地址列表, 例如:192.168.0.1:9876;192.168.0.2:9876 |
|
t | topic name | 是 | topic的名字 |
示例: bin/mqadmin topicStatus -n 192.168.10.1:9876 -t firstTopic
9. topicClusterList 获取topic的集群信息
参数 | 参数原文 | 是否必填 | 默认值 | 说明 |
h | help | 否 | 命令帮助 | |
n | namesrvAddr | 是 |
nameServer地址列表, 例如:192.168.0.1:9876;192.168.0.2:9876 |
|
t | topic name | 是 |
topic的名字 |
示例: bin/mqadmin topicClusterList -n 192.168.10.1:9876 -t firstTopic
10. brokerStatus 获取broker运行时的状态数据
参数 | 参数原文 | 是否必填 | 默认值 | 说明 |
b | brokerAddr | 如果-c为空,则必填 | broker 地址 | |
c | clusterName | 如果-b为空,则必填 | cluster 名称 | |
h | help | 否 | 命令帮助 | |
n | namesrvAddr | 是 |
nameServer地址列表, 例如:192.168.0.1:9876;192.168.0.2:9876 |
示例: bin/mqadmin brokerStatus -b 192.168.10.1:10911 -n 192.168.10.1:9876
11. queryMsgById 根据id查消息
参数 | 参数原文 | 是否必填 | 默认值 | 说明 |
d | clientId | 否 | 消费者的客户端id | |
g | consumerGroup | 否 | 消费组名称 | |
h | help | 否 | 命令帮助 | |
n | namesrvAddr | 是 |
nameServer地址列表, 例如:192.168.0.1:9876;192.168.0.2:9876 |
|
i | msgId | 是 |
消息id |
|
s | sendMessage | 否 |
原文是resend message |
|
u | unitName | 否 |
原文是unit name |
示例: bin/mqadmin queryMsgById -n 192.168.10.1:9876 -i 15251252FKJF252
12. queryMsgByKey 根据key查消息
参数 | 参数原文 | 是否必填 | 默认值 | 说明 |
h | help | 否 | 命令帮助 | |
n | namesrvAddr | 是 |
nameServer地址列表, 例如:192.168.0.1:9876;192.168.0.2:9876 |
|
k | msgIKey | 是 |
消息的key |
|
t | topic | 是 | topic的名字 |
示例: bin/mqadmin queryMsgByKey -n 192.168.10.1:9876 -k key -t firstTopic
13. queryMsgByUniqueKey 根据uniqueKey查消息
参数 | 参数原文 | 是否必填 | 默认值 | 说明 |
d | clientId | 否 | 消费者的客户端id | |
g | consumerGroup | 否 | 消费组名称 | |
h | help | 否 | 命令帮助 | |
n | namesrvAddr | 是 |
nameServer地址列表, 例如:192.168.0.1:9876;192.168.0.2:9876 |
|
i | msgId | 是 |
消息id |
|
t | topic | 是 | 消息所属的topic |
示例: bin/mqadmin queryMsgByUniqueKey -n 192.168.10.1:9876 -i 15251252FKJF252 -t firstTopic
14. queryMsgByOffset 根据offset查消息
参数 | 参数原文 | 是否必填 | 默认值 | 说明 |
b | brokerName | 是 | broker的名字 | |
h | help | 否 | 命令帮助 | |
n | namesrvAddr | 是 |
nameServer地址列表, 例如:192.168.0.1:9876;192.168.0.2:9876 |
|
i | queueId | 是 |
队列id |
|
o | offset | 是 |
队列的偏移量 |
|
t | topic | 是 | topic名字 |
示例: bin/mqadmin queryMsgByOffset -n 192.168.10.1:9876 -i 队列id -t firstTopic -o 偏移量 -b firstBroker
15. printMsg 打印消息细节
参数 | 参数原文 | 是否必填 | 默认值 | 说明 |
b | beginTimestamp | 否 | 原文是Begin timestamp[currentTimeMillis|yyyy-MM-dd#HH:mm:ss:SSS] | |
h | help | 否 | 命令帮助 | |
n | namesrvAddr | 是 |
nameServer地址列表, 例如:192.168.0.1:9876;192.168.0.2:9876 |
|
d | printBody | 否 | 原文是print body. eg: true | false(default) | |
c | charsetName | 否 | utf-8 | 字符集 |
t | topic | 是 | topic名字 | |
e | endTimestamp | 否 | 与b参数对应 | |
s | subExpression | 否 | * | 原文是Subscribe Expression(eg: TagA || TagB) |
示例: bin/mqadmin printMsg -n 192.168.10.1:9876 -t firstTopic -s TagA
16. printMsgByQueue 打印消息细节
参数 | 参数原文 | 是否必填 | 默认值 | 说明 |
a | brokerName | 是 | broker名字 | |
b | beginTimestamp | 否 | 原文是Begin timestamp[currentTimeMillis|yyyy-MM-dd#HH:mm:ss:SSS] | |
c | charsetName | 否 |
utf-8 | 字符集 |
d | printBody | 否 | 原文是print body. eg: true | false(default) | |
e | endTimestamp | 否 | 与b参数对应 | |
f | calculate | 否 | 原文是calculate by tag. eg: true | false(default) | |
h | help | 否 | 命令帮助 | |
i | queueId | 是 | 消息队列id | |
n | namesrvAddr | 是 | nameServer地址列表,例如:192.168.0.1:9876;192.168.0.2:9876 | |
p | print msg | 否 | 原文是print msg. eg: true | false(default) | |
s | subExpression | 否 | * | 原文是Subscribe Expression(eg: TagA || TagB) |
t | topic | 是 | topic名字 |
示例: bin/mqadmin printMsgByQueue -n 192.168.10.1:9876 -t firstTopic -i 1 -s TagA -a mybroker
17. sendMsgStatus 给broker发消息
参数 | 参数原文 | 是否必填 | 默认值 | 说明 |
b | brokerName | 是 | broker名字 | |
c | count | 否 | 50 | 发送消息的数量 |
h | help | 否 | 命令帮助 | |
n | namesrvAddr | 是 | nameServer地址列表,例如:192.168.0.1:9876;192.168.0.2:9876 | |
s | messageSize | 否 | 128 | 消息大小 |
示例: bin/mqadmin sendMsgStatus -n 192.168.10.1:9876 -b mybroker
18. brokerConsumeStats 提取broker消费统计数据
参数 | 参数原文 | 是否必填 | 默认值 | 说明 |
b | brokerAddr | 是 | broker地址 | |
h | help | 否 | 命令帮助 | |
l | level | 否 | 0 | 原文是 threshold of print diff |
n | namesrvAddr | 是 | nameServer地址列表,例如:192.168.0.1:9876;192.168.0.2:9876 | |
o | order | 否 | false | 原文是order topic |
t | timeoutMillis | 否 | 50000 | 原文是request timeout Millis |
示例: bin/mqadmin brokerConsumeStats -n 192.168.10.1:9876 -b mybroker