跳至主要內容
版本:5.0

管理工具

注意事項
  1. 執行命令:./mqadmin {command} {args}
  2. 大多數命令需要使用 -n 旗標設定 NameServer 位址,格式為 ip:port
  3. 大多數命令可以使用 -h 旗標取得說明
  4. 如果同時設定 Broker 位址 (-b) 和 clusterName (-c),將使用 Broker 位址執行命令。如果未設定 Broker 位址,將在叢集中的所有主機上執行命令。僅支援一個 Broker 位址,格式為 ip:port,其中埠預設為 10911。
  5. tools 目錄中,可以看到許多命令,但並非所有命令都可用。只有在 MQAdminStartup 中初始化的命令才能使用。您也可以修改此類別來新增或定義自己的命令。
  6. 由於版本更新,部分命令可能未及時更新,可能會導致錯誤,這種情況下請閱讀相關命令源碼。
與主題相關的參數
名稱定義命令選項說明
updateTopic創建/更新主題配置-bBroker地址,表示該主題所在Broker,只支持單個Broker,地址格式為ip:port。
-c集群名稱,表示該主題所在集群(集群可通過clusterList命令查詢)。
-h打印幫助
-nNameServer地址,格式為ip:port
-p指定新主題的讀寫權限(W=2|R=4|WR=6)
-r可讀隊列數(默認值為8)
-w可寫隊列數(默認值為8)
-t主題名稱(名稱只能使用字符^[a-zA-Z0-9_-]+$)
deleteTopic刪除主題-c集群名稱,表示刪除某個集群下的指定主題(集群可通過clusterList命令查詢)。
-h打印幫助
-nNameServer地址,格式為ip:port
-t主題名稱(名稱只能使用字符^[a-zA-Z0-9_-]+$)
topicList查詢主題列表信息-h打印幫助
-c不帶-c標誌,只返回主題列表。加上-c返回clusterName、topic、consumerGroup信息,即該主題所在集群和訂閱關系。無參數。
-nNameServer地址,格式為ip:port
topicRoute查詢主題路由信息-t主題名稱
-h打印幫助
-nNameServer地址,格式為ip:port
topicStatus查詢主題消息隊列偏移量-t主題名稱
-h打印幫助
-nNameServer地址,格式為ip:port
topicClusterList查詢主題所在集群列表-t主題名稱
-h打印幫助
-nNameServer地址,格式為ip:port
updateTopicPerm更新主題讀寫權限-t主題名稱
-h打印幫助
-nNameServer地址,格式為ip:port
-bBroker地址,表示該主題所在Broker,只支持單個Broker,地址格式為ip:port。
-p指定新主題的讀寫權限(W=2|R=4|WR=6)
-c集群名稱,表示該主題所在集群(集群可通過clusterList命令查詢)。優先使用-b標誌,如果沒有-b標誌,則對集群中所有Broker執行命令。
updateOrderConf從NameServer創建、刪除、獲取指定的kv配置。此功能目前不可用。-h打印幫助
-nNameServer地址,格式為ip:port
-ttopic,key
-vorderConf,value
-m方法,選擇性 get、put、delete
allocateMQ使用平均負載演算法計算消費者清單中訊息佇列的負載結果。-t主題名稱
-h打印幫助
-nNameServer地址,格式為ip:port
-iip 清單,以逗號分隔,計算主題中這些 IP 的訊息佇列負載。
statsAll列印有關主題的訂閱、TPS、累積、24 小時總讀寫量等資訊。-h打印幫助
-nNameServer地址,格式為ip:port
-a僅列印活動主題
-t指定主題
叢集相關參數
名稱定義命令選項說明
clusterList查詢叢集資訊,包括叢集、BrokerName、BrokerId、TPS 和其他資訊。-m列印更多資訊(列印的其他資訊包括:#InTotalYest、#OutTotalYest、#InTotalToday、#OutTotalToday)
-h打印幫助
-nNameServer地址,格式為ip:port
-i列印間隔,單位為秒。
clusterRT傳送訊息以測試叢集中每個 Broker 的 RT。訊息傳送至 ${BrokerName} 主題。-aamount,每次探測的總數。RT = 總時間 / amount
-s訊息大小,單位:B
-c要探測的叢集
-p是否列印格式化日誌,以 | 分隔,預設不列印。
-h打印幫助
-m所屬資料中心,用於列印目的。
-i傳送間隔,單位為秒。
-nNameServer地址,格式為ip:port
Broker 相關參數
名稱定義命令選項說明
queryMsgById根據 offsetMsgId 查詢訊息。如果使用開源主控台,應使用 offsetMsgId。此命令有其他參數,如需瞭解其功能的詳細資訊,請閱讀 QueryMsgByIdSubCommand。-imsgId
-h打印幫助
-nNameServer地址,格式為ip:port
queryMsgByKey根據訊息金鑰查詢訊息。-kmsgKey
-t主題名稱
-h打印幫助
-nNameServer地址,格式為ip:port
queryMsgByOffset根據位移查詢訊息。-bBroker 名稱(請注意,在此處應輸入 Broker 的名稱,而非其位址。可以使用 clusterList 命令尋找 Broker 名稱)。
-i查詢佇列 ID
-o位移值
-t主題名稱
-h打印幫助
-nNameServer 位址,格式為 ip:port
queryMsgByUniqueKey根據 msgId 查詢。msgId 與 offsetMsgId 不同,更多資訊請參閱常見操作問題。-g 和 -d 一起使用,在找到訊息後,嘗試讓特定使用者使用訊息並傳回使用結果。-h打印幫助
-nNameServer地址,格式為ip:port
-iuniqe msg id
-gconsumerGroup
-dclientId
-t主題名稱
checkMsgSendRT檢查將訊息傳送至主題的 RT。此功能類似於 clusterRT。-h打印幫助
-n NameServer 位址,格式為 ip:port
-t主題名稱
-a探測數
-s訊息大小
sendMessage傳送訊息,可以根據設定傳送至特定訊息佇列,或一般傳送。-h打印幫助
-nNameServer 位址,格式為 ip:port
-t主題名稱
-p訊息主體
-kkeys
-ctags
-bBrokerName
-iqueueId
consumeMessage使用訊息。可以根據偏移量、起始和結束時間戳記,以及訊息佇列使用訊息。不同的設定執行不同的使用邏輯,更多資訊請參閱 ConsumeMessageCommand。-h打印幫助
-nNameServer 位址,格式為 ip:port
-t主題名稱
-bBrokerName
-o從偏移量使用
-iqueueId
-g使用者群組
-s起始時間戳記,格式請參閱 -h。
-d結束時間戳記
-c使用特定數量的訊息
printMsg從 Broker 使用訊息並列印,可選擇時間區間。-h打印幫助
-nNameServer 位址,格式為 ip:port
-t主題名稱
-c字元組,例如 UTF-8
-ssubExpress,篩選式
-b起始時間戳記,格式請參閱 -h。
-e結束時間戳記
-d是否列印訊息主體。
printMsgByQueue類似於 printMsg,但針對特定訊息佇列。-h打印幫助
-nNameServer 位址,格式為 ip:port
-t主題名稱
-iqueueId
-aBrokerName
-c字元組,例如 UTF-8
-ssubExpress,篩選式
-b起始時間戳記,格式請參閱 -h。
-e結束時間戳記
-p是否列印訊息主體。
-d是否列印訊息主體。
-f是否計算並列印標籤數
resetOffsetByTime根據時間戳記重設偏移量,Broker 和使用者都會重設。-h打印幫助
-nNameServer 位址,格式為 ip:port
-g使用者群組
-t主題名稱
-s重設為對應於此時間戳記的偏移量。
-f是否強制重設。如果為 false,僅支援向後偏移量。如果為 true,不論時間戳記對應偏移量和 consumeOffset 之間的關係。
-c是否為 C++ 用戶端重設偏移量。
訊息相關參數
名稱定義命令選項說明
queryMsgById若要根據其偏移量訊息 ID (offsetMsgId) 查詢訊息,如果使用開源主控台,可以使用 offsetMsgId 指令。此指令有其他參數,其特定功能可以在閱讀 QueryMsgByIdSubCommand 中找到。-imsgId
-h打印幫助
-nNameServer 位址,格式為 ip:port
queryMsgByKey依據 key 查詢訊息。-kmsgKey
-t主題名稱
-h打印幫助
-nNameServer 位址,格式為 ip:port
queryMsgByOffset依據偏移量查詢訊息-bBroker 名稱(請注意,這應該是 Broker 的名稱,而非位址。Broker 的名稱可以在 clusterList 中找到。)
-i查詢佇列 ID
-o位移值
-t主題名稱
-h打印幫助
-nNameServer 位址,格式為 ip:port
queryMsgByUniqueKey根據 msgId 查詢。請注意,msgId 與 offsetMsgId 不同。如需詳細資訊,請參閱常見操作和維護問題。同時使用 -g 和 -d,嘗試讓特定消費者使用訊息,並在找到訊息後傳回使用結果。-h打印幫助
-nNameServer 位址,格式為 ip:port
-iuniqe msg id
-gconsumerGroup
-dclientId
-t主題名稱
checkMsgSendRT檢查將訊息傳送至主題的 RT(往返時間)。此功能類似於 clusterRT。-h打印幫助
-n NameServer 位址,格式為 ip:port
-t主題名稱
-a探測次數。
-s訊息大小
sendMessage傳送訊息,可以根據設定傳送至特定訊息佇列,或正常傳送。-h打印幫助
-nNameServer 位址,格式為 ip:port
-t主題名稱
-pbody,訊息主體
-kkeys
-ctags
-bBrokerName
-iqueueId
consumeMessage使用訊息。可以根據偏移量、開始和結束時間戳記,以及訊息佇列使用訊息。不同的設定將執行不同的使用邏輯。如需詳細資訊,請參閱 ConsumeMessageCommand。-h打印幫助
-nNameServer 位址,格式為 ip:port
-t主題名稱
-bBrokerName
-o從指定偏移量使用。
-iqueueId
-g使用者群組
-s起始時間戳記,格式請參閱 -h。
-d結束時間戳記
-c使用指定數量的訊息。
printMsg在指定時間範圍內從 Broker 使用並列印訊息。-h打印幫助
-nNameServer 位址,格式為 ip:port
-t主題名稱
-c字元組,例如 UTF-8
-ssubExpress,篩選式
-b起始時間戳記,格式請參閱 -h。
-e結束時間戳記
-d是否列印訊息主體
printMsgByQueue類似於 printMsg,但指定訊息佇列。-h打印幫助
-nNameServer 位址,格式為 ip:port
-t主題名稱
-iqueueId
-aBrokerName
-c字元組,例如 UTF-8
-ssubExpress,篩選式
-b起始時間戳記,格式請參閱 -h。
-e結束時間戳記
-p是否列印訊息
-d是否列印訊息主體
-f是否計算並列印標籤數
resetOffsetByTime依據時間戳記重設偏移量將重設 Broker 和消費者。-h打印幫助
-nNameServer 位址,格式為 ip:port
-g使用者群組
-t主題名稱
-s重設為對應於此時間戳記的偏移量。
-f是否強制重設。如果為 false,只支援向後偏移量。如果為 true,將忽略時間戳記對應偏移量和 consumeOffset 之間的關係。
-c是否為 C++ 用戶端重設偏移量。
使用相關參數
名稱定義命令選項說明
consumerProgress消費者群組使用狀態,包括特定客戶端 IP 的訊息累積。-g消費者群組名稱
-s是否列印客戶端 IP。
-h列印說明
-nNameServer 位址,格式為 ip:port
consumerStatus消費者狀態是指消費者的狀態,包括同一群組中的所有消費者是否具有相同的訂閱、處理佇列是否堆疊,以及消費者的 jstack 結果。此指令傳回的資訊非常廣泛,使用者應參閱 ConsumerStatusSubCommand 以取得更多詳細資料。-h打印幫助
-nNameServer 位址,格式為 ip:port
-g消費者群組
-iclientId
-s是否執行 jstack
getConsumerStatus取得消費者使用進度-g消費者群組名稱
-t查詢主題
-i消費者客戶端 IP
-nNameServer 位址,格式為 ip:port
-h打印幫助
updateSubGroup更新或建立訂閱關係。-nNameServer 位址,格式為 ip:port
-h打印幫助
-b代理伺服器地址
-c叢集名稱
-g消費者群組名稱
-s群組是否允許消費
-m是否從最小的偏移量開始消費。
-d是否為廣播模式。
-q重試佇列數。
-r最大重試次數
-i當 slaveReadEnable 開啟,且尚未到達建議從備用伺服器消費的點時,可以設定備用機器 ID 從備用機器主動消費。
-w如果 Broker 建議從備用伺服器消費,則設定決定從哪個備用伺服器消費。可以設定 BrokerId,例如 1。
-a當消費者數量變更時,是否通知其他消費者進行負載平衡。
deleteSubGroup從 Broker 中移除訂閱-nNameServer地址,格式為ip:port
-h打印幫助
-b代理伺服器地址
-c叢集名稱
-g消費者群組名稱
cloneGroupOffset使用來源消費者群組中的偏移量,在目標消費者群組中。-nNameServer 位址,格式為 ip:port
-h打印幫助
-s來源消費者群組
-d目標消費者群組
-t主題名稱
-o目前未使用。
連線相關參數
名稱定義命令選項說明
consumerConnec tion查詢消費者網路連線。-g消費者群組名稱。
-nNameServer地址,格式為ip:port
-h打印幫助
producerConnec tion查詢生產者網路連線。-g生產者群組名稱。
-t主題名稱
-nNameServer 位址,格式為 ip:port
-h打印幫助
連線相關參數
名稱定義命令選項說明
updateKvConfig更新 NameServer KV 設定,目前未使用。-s名稱空間
-k金鑰
-v
-nNameServer 位址,格式為 ip:port
-h打印幫助
deleteKvConfig刪除 NameServer KV 設定。-s名稱空間
-k金鑰
-nNameServer 位址,格式為 ip:port
-h打印幫助
getNamesrvConfig取得 NameServer 設定。-nNameServer 位址,格式為 ip:port
-h打印幫助
updateNamesrvConfig修改 NameServer 設定。-nNameServer 位址,格式為 ip:port
-h打印幫助
-k金鑰
-v

其他

連線相關參數
名稱定義命令選項說明
startMonitoring啟動監控程序,以監控訊息刪除錯誤和重試佇列中的訊息數量等事件。-nNameServer 位址,格式為 ip:port
-h打印幫助