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

 

posted @ 2019-10-21 13:30  超级VIP  阅读(4179)  评论(2编辑  收藏  举报