本文未完成,有空再補充,不小心發布了,抱歉
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