RocketMQ管理命令说明

转载原文:https://www.cnblogs.com/gmq-sh/p/6232633.html

rocketMq-Topic创建过程 https://www.jianshu.com/p/345aaa18f71d

(红色命令是测试成功执行的命令,其他命令待测试)

首先进入 RocketMQ 工程,进入/RocketMQ/bin   在该目录下有个 mqadmin 脚本 .

 查看帮助:   在 mqadmin 下可以查看有哪些命令  

 a: 查看具体命令的使用 : sh mqadmin    

 b: sh mqadmin help 命令名称  

#sh mqadmin
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
   queryMsgByUniqueKey  Query Message by Unique key
   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

2. 关闭nameserver和所有的broker:

   进入到bin下: 

   sh mqshutdown namesrv

   sh mqshutdown broker

3. 查看所有消费组group:

   sh mqadmin consumerProgress -n 127.0.0.1:9876

4. 查看指定消费组下的所有topic数据堆积情况:

    sh mqadmin consumerProgress -n 127.0.0.1:9876 -g warning-group

5. 查看所有topic :

     sh mqadmin topicList -n 127.0.0.1:9876

6. 查看topic信息列表详情统计

   sh mqadmin topicstatus -n 127.0.0.1:9876 -t test111

7.  新增topic

   sh mqadmin updateTopic -n 127.0.0.1:9876 -b 127.0.0.1:10911 -t test111

8. 删除topic

   sh mqadmin deleteTopic -c 127.0.0.1:10911 -n 127.0.0.1:9876 -t test111

9、查询集群消息

sh mqadmin  clusterList

sh mqadmin  clusterList -n 127.0.0.1:9876

 

1.1.  控制台使用

RocketMQ提供有控制台及一系列控制台命令,用于管理员对主题,集群,broker等信息的管理;

l  登录控制台:

首先进入RocketMQ工程,进入/RocketMQ/bin

在该目录下有个mqadmin脚本

l  查看帮助:

在mqadmin下可以查看有哪些命令   shmqadmin

l  查看具体命令的使用

sh mqadmin help 命令名称 .   例如,查看updateTopic的使用  sh mqadmin updateTopic -h

 

1.2.  详细命令

1.2.1.          创建Topic

指令

updateTopic

类路径

com.alibaba.rocketmq.tools.command.topic.UpdateTopicSubCommand

参数

是否必填

说明

-b

如果 -c为空,则必填

broker地址,表示topic建在该broker

-c

如果 -b为空,则必填

cluster名称,表示topic建在该集群(集群可通过clusterList查询)

-h

打印帮助

-n

nameserve服务地址列表,格式ip:port;ip:port;...

-p

指定新topic的权限限制( W|R|WR )

-r

可读队列数(默认为8)

-w

可写队列数(默认为8)

-t

topic名称(名称只能使用字符 ^[a-zA-Z0-9_-]+$ )

举例

在集群DefaultCluster上创建主题ZTEExample,nameserve地址为10.45.47.168:9876

sh mqadmin updateTopic -n 192.168.100.193:9876 -b 192.168.100.193:10911 -t test111

test111
create topic to 192.168.100.193:10911 success.
TopicConfig [topicName=test111, readQueueNums=8, writeQueueNums=8, perm=RW-, topicFilterType=SINGLE_TAG, topicSysFlag=0, order=false]

1.2.2.          删除Topic

指令

deleteTopic

类路径

com.alibaba.rocketmq.tools.command.topic.DeleteTopicSubCommand

参数

是否必填

说明

-c

cluster名称,表示删除某集群下的某个topic (集群可通过clusterList查询)

-h

打印帮助

-n

nameserve服务地址列表,格式ip:port;ip:port;…

-t

topic名称(名称只能使用字符 ^[a-zA-Z0-9_-]+$ )

举例

在集群DefaultCluster上删除主题ZTEExample,nameserve地址为10.45.47.168:9876

sh mqadmin deleteTopic -c 127.0.0.1:10911 -n 127.0.0.1:9876 -t test111 

delete topic [test111] from cluster [AdpMqCluster] success.
delete topic [test111] from NameServer success.

1.2.3.         创建(修订)订阅组

指令

updateSubGroup

类路径

com.alibaba.rocketmq.tools.command.consumer.UpdateSubGroupSubCommand

参数

是否必填

说明

-b

如果 –c为空,则必填

broker地址,表示订阅组建在该broker

-c

如果 –b为空,则必填

cluster名称,表示topic建在该集群(集群可通过clusterList查询)

-d

是否容许广播方式消费

-g

订阅组名

-i

从哪个broker开始消费

-m

是否容许从队列的最小位置开始消费,默认会设置为false

-q

消费失败的消息放到一个重试队列,每个订阅组配置几个重试队列

-r

重试消费最大次数,超过则投递到死信队列,不再投递,并报警

-s

消费功能是否开启

-w

发现消息堆积后,将Consumer的消费请求重定向到另外一台Slave机器

-h

打印帮助

-n

nameserve服务地址列表,格式ip:port;ip:port;...

举例

 

 

1.2.4.         删除订阅组配置

指令

deleteSubGroup

类路径

com.alibaba.rocketmq.tools.command.consumer.DeleteSubscriptionGroupCommand

参数

是否必填

说明

-b

如果 –c为空,则必填

broker地址,表示订阅组建在该broker

-c

如果 –b为空,则必填

cluster名称,表示topic建在该集群(集群可通过clusterList查询)

-g

订阅组名

-h

打印帮助

-n

nameserve服务地址列表,格式ip:port;ip:port;...

举例

 

 

1.2.5.         更新Broker配置文件

指令

updateBrokerConfig

类路径

com.alibaba.rocketmq.tools.command.broker.UpdateBrokerConfigSubCommand

参数

是否必填

说明

-b

如果 –c为空,则必填

broker地址,表示订阅组建在该broker

-c

如果 –b为空,则必填

cluster名称,表示topic建在该集群(集群可通过clusterList查询)

-k

key值

-v

value值

-h

打印帮助

-n

nameserve服务地址列表,格式ip:port;ip:port;...

举例

 

 

1.2.6.         查看Topic列表信息

指令

topicList

类路径

com.alibaba.rocketmq.tools.command.broker.UpdateBrokerConfigSubCommand

参数

是否必填

说明

-h

打印帮助

-n

nameserve服务地址列表,格式ip:port;ip:port;...

举例

nameserve地址为10.45.47.168:9876

sh mqadmin topicList –n 10.45.47.168:9876

打印内容:

BenchmarkTest

%RETRY%simple-consumer-test

SELF_TEST_TOPIC

ZTEExample

注释:上述头三个主题是RocketMQ默认预先创建

1.2.7.         查看Topic路由信息

指令

topicRoute

类路径

com.alibaba.rocketmq.tools.command.topic.TopicRouteSubCommand

参数

是否必填

说明

-t

topic名称

-h

打印帮助

-n

nameserve服务地址列表,格式ip:port;ip:port;...

举例

查看主题ZTEExample的路由,nameserve地址为10.45.47.168:9876

sh mqadmin topicRoute –n 10.45.47.168:9876 –t ZTEExample_Crm

打印内容:

{

        "brokerDatas":[{

                "brokerAddrs":{0:"10.45.47.168:10911"

                },

                "brokerName":"crmdb"

        }],

        "queueDatas":[{

                "brokerName":"crmdb",

                "perm":6,

                "readQueueNums":8,

                "writeQueueNums":8

        }]

}

1.2.8.         查看Topic统计信息

指令

topicStats

类路径

com.alibaba.rocketmq.tools.command.topic.TopicStatsSubCommand

参数

是否必填

说明

-t

topic名称

-h

打印帮助

-n

nameserve服务地址列表,格式ip:port;ip:port;...

举例

查看主题ZTEExample的统计信息,nameserve地址为10.45.47.168:9876

sh mqadmin topicStats –n 10.45.47.168:9876 –t ZTEExample

打印内容:(统计信息里包括有offset、最后更新时间)

#Broker Name  #QID  #Min Offset  #Max Offset   #Last Updated

crmdb         0     0            1             2014-02-10 11:37:44,977

crmdb         1     0            0            

crmdb         2     0            0            

crmdb         3     0            0            

crmdb         4     0            0            

crmdb         5     0            0            

crmdb         6     0            0            

crmdb         7     0            0      

1.2.9.         查看Broker统计信息

指令

brokerStats

类路径

com.alibaba.rocketmq.tools.command.broker.BrokerStatsSubCommand

参数

是否必填

说明

-b

broker地址

-h

打印帮助

-n

nameserve服务地址列表,格式ip:port;ip:port;...

举例

查看broker(crmdb)的统计信息,broker地址为10.45.47.168:10911,nameserve地址为10.45.47.168:9876

sh mqadmin brokerStats –n 10.45.47.168:9876 –b 10.45.47.168:10911

打印内容:

bootTimestamp                   : 1392003367470

brokerVersion                   : 29

brokerVersionDesc               : V3_0_7

commitLogDiskRatio              : 0.32690830974763857

commitLogMaxOffset              : 217

commitLogMinOffset              : 0

consumeQueueDiskRatio           : 0.32690830974763857

dispatchMaxBuffer               : 1

getFoundTps                     : 0.0 0.0 0.0

getMessageEntireTimeMax         : 4

getMissTps                      : 0.0 0.0 0.0

getTotalTps                     : 0.0 0.0 0.0

getTransferedTps                : 0.0 0.0 0.0

msgGetTotalTodayMorning         : 0

msgGetTotalTodayNow             : 1

msgGetTotalYesterdayMorning     : 0

msgPutTotalTodayMorning         : 0

msgPutTotalTodayNow             : 1

msgPutTotalYesterdayMorning     : 0

putMessageAverageSize           : 217.0

putMessageDistributeTime        :

                0(0.0%)

                1(100.0%)

                0(0.0%)

                0(0.0%)

                0(0.0%)

                0(0.0%)

                0(0.0%)

putMessageEntireTimeMax         : 6

putMessageSizeTotal             : 217

putMessageTimesTotal            : 1

putTps                          : 0.0 0.0 0.0

runtime                         : [ 0 days, 3 hours, 21 minutes, 1 seconds ]

sendThreadPoolQueueCapacity     : 100000

sendThreadPoolQueueSize         : 0 

1.2.10.     根据消息ID查询消息

指令

queryMsgById

类路径

com.alibaba.rocketmq.tools.command.message.QueryMsgByIdSubCommand

参数

是否必填

说明

-i

msgId

-h

打印帮助

-n

nameserve服务地址列表,格式ip:port;ip:port;...

举例

查询msgId= 0A2D2FA800002A9F0000000000000000的消息,nameserve地址为10.45.47.168:9876

sh mqadmin queryMsgById –n 10.45.47.168:9876 –i 0A2D2FA800002A9F0000000000000000

打印内容:

Topic:               ZTEExample

Tags:                [SimpleTest]

Keys:                [SimpleTest-1]

Queue ID:            0

Queue Offset:        0

CommitLog Offset:    0

Born Timestamp:      2014-02-26 14:49:10,875

Store Timestamp:     2014-02-26 14:48:44,840

Born Host:           10.45.46.229:4231

Store Host:          10.45.47.168:10911

System Flag:         0

Properties:          {TAGS=SimpleTest, KEYS=SimpleTest-1, WAIT=true}

Message Body Path:   /tmp/rocketmq/msgbodys/0A2D2FA800002A9F0000000000000000

1.2.11.     根据消息Key查询消息

指令

queryMsgByKey

类路径

com.alibaba.rocketmq.tools.command.message.QueryMsgByKeySubCommand

参数

是否必填

说明

-f

被查询消息的截止时间

-k

msgKey

-t

Topic名称

-h

打印帮助

-n

nameserve服务地址列表,格式ip:port;ip:port;...

举例

查询Topic= ZTEExample下key= SimpleTest-1的消息,nameserve地址为10.45.47.168:9876

sh mqadmin queryMsgByKey -n 10.45.47.168:9876 -t ZTEExample -k SimpleTest-1

打印内容:

#Message ID                                        #QID  #Offset

0A2D2FA800002A9F0000000000000000                   0    0

1.2.12.     根据Offset查询消息

指令

queryMsgByOffset

类路径

com.alibaba.rocketmq.tools.command.message.QueryMsgByOffsetSubCommand

参数

是否必填

说明

-b

Broker名称,表示订阅组建在该broker(这里需要注意填写的是broker的名称,不是broker的地址,broker名称可以在clusterList查到)

-i

query队列id

-o

offset值

-t

topic名称

-h

打印帮助

-n

nameserve服务地址列表,格式ip:port;ip:port;...

举例

查询brokerName=crm-168,Topic= ZTEExample的第1个队列下offset=0的消息,nameserve地址为10.45.47.168:9876

sh mqadmin queryMsgByOffset -n 10.45.47.168:9876 -b crm-168 -i 0 -t ZTEExample -o 0

打印内容:

Topic:               ZTEExample

Tags:                [SimpleTest]

Keys:                [SimpleTest-1]

Queue ID:            0

Queue Offset:        0

CommitLog Offset:    0

Born Timestamp:      2014-02-26 14:49:10,875

Store Timestamp:     2014-02-26 14:48:44,840

Born Host:           10.45.46.229:4231

Store Host:          10.45.47.168:10911

System Flag:         0

Properties:          {TAGS=SimpleTest, KEYS=SimpleTest-1, WAIT=true}

Message Body Path:   /tmp/rocketmq/msgbodys/0A2D2FA800002A9F0000000000000000

1.2.13.     查询Producer的网络连接

l  该命令只打印当前与cluster连接的producer网络连接信息

指令

producerConnection

类路径

com.alibaba.rocketmq.tools.command.connection.ProducerConnectionSubCommand

参数

是否必填

说明

-g

生产者所属组名

-t

topic名称

-h

打印帮助

-n

nameserve服务地址列表,格式ip:port;ip:port;...

举例

查询当前属于group(生产者组)=simple-producer-test的生产者到topic=ZTEExample的网络连接,nameserve地址为10.45.47.168:9876

sh mqadmin producerConnection -n 10.45.47.168:9876 -g simple-producer-test -t ZTEExample

打印内容:

0001 10.45.46.229@simple-producer-test-99f09de2a20a4b6284bb949b452bee0c 10.45.46.229:4332   Java  V3_0_7

1.2.14.     查询Consumer的网络连接

l  该命令只打印当前与cluster连接的consumer网络连接信息

指令

consumerConnection

类路径

com.alibaba.rocketmq.tools.command.connection.ConsumerConnectionSubCommand

参数

是否必填

说明

-g

消费者所属组名

-h

打印帮助

-n

nameserve服务地址列表,格式ip:port;ip:port;...

举例

查询当前属于group(消费者组)=simple-consumer-test的消费者的网络连接,nameserve地址为10.45.47.168:9876

sh mqadmin consumerConnection -n 10.45.47.168:9876 -g simple-consumer-test

打印内容:

001  10.45.46.229@simple-consumer-test-7babbb6021b040d29978494b16d559ae 10.45.46.229:4355      JAVA     V3_0_7

 

Below is subscription:

001  Topic: ZTEExample                               SubExpression: *

 

ConsumeType: CONSUME_ACTIVELY

MessageModel: CLUSTERING

ConsumeFromWhere: CONSUME_FROM_LAST_OFFSET

1.2.15.     查看订阅组消费状态

指令

consumerProgress

类路径

com.alibaba.rocketmq.tools.command.consumer.ConsumerProgressSubCommand

参数

是否必填

说明

-g

消费者所属组名

-h

打印帮助

-n

nameserve服务地址列表,格式ip:port;ip:port;...

举例

查询当前属于group(消费者组)=simple-consumer-test的订阅状态,nameserve地址为10.45.47.168:9876

sh mqadmin consumerProgress -n 10.45.47.168:9876 -g simple-consumer-test

打印内容:

#Topic         #Broker Name    #QID  #Broker Offset        #Consumer Offset      #Diff

ZTEExample     crm-168         0     2                     2                     0

ZTEExample     crm-168         1     0                     0                     0

ZTEExample     crm-168         2     0                     0                     0

ZTEExample     crm-168         3     0                     0                     0

ZTEExample     crm-168         4     0                     0                     0

ZTEExample     crm-168         5     0                     0                     0

ZTEExample     crm-168         6     0                     0                     0

ZTEExample     crm-168         7     0                     0                     0

 

Consume TPS: 0

Diff Total: 0

1.2.16.     查看集群消息

指令

clusterList

类路径

com.alibaba.rocketmq.tools.command.cluster.ClusterListSubCommand

参数

是否必填

说明

-m

打印更多信息 (增加打印出如下信息 #InTotalYest,   #OutTotalYest, #InTotalToday ,#OutTotalToday)

-h

打印帮助

-n

nameserve服务地址列表,格式ip:port;ip:port;...

举例

查询当前集群状态,nameserve地址为10.45.47.168:9876

 sh mqadmin clusterList -n 192.168.100.193:9876

打印内容:

#Cluster Name  #Broker Name  #BID   #Addr           #Version   #InTPS   #OutTPS
AdpMqCluster     broker-a       0    192.168.100.193:10911  V3_2_6       0.00       0.00
AdpMqCluster     broker-b       0    192.168.100.194:10911  V3_2_6       0.00       0.00

 

sh mqadmin clusterList -n 192.168.100.193:9876 -m

#Cluster Name #Broker Name #InTotalYest #OutTotalYest #InTotalToday #OutTotalToday
AdpMqCluster    broker-a    0        0        0          0
AdpMqCluster    broker-b    0        0        0          0  

1.2.17.     添加(更新)KV配置信息

指令

updateKvConfig

类路径

com.alibaba.rocketmq.tools.command.namesrv.UpdateKvConfigCommand

参数

是否必填

说明

-k

key值

-v

value值

-s

Namespace值

-h

打印帮助

-n

nameserve服务地址列表,格式ip:port;ip:port;...

举例

 

 

1.2.18.     删除KV配置信息

指令

deleteKvConfig

类路径

com.alibaba.rocketmq.tools.command.namesrv.DeleteKvConfigCommand

参数

是否必填

说明

-k

key值

-s

Namespace值

-h

打印帮助

-n

nameserve服务地址列表,格式ip:port;ip:port;...

举例

 

 

1.2.19.     添加(更新)Project group配置信息

指令

updateProjectGroup

类路径

com.alibaba.rocketmq.tools.command.namesrv.UpdateProjectGroupCommand

参数

是否必填

说明

-i

服务器ip

-p

project group名

-h

打印帮助

-n

nameserve服务地址列表,格式ip:port;ip:port;...

举例

 

 

1.2.20.     删除Projectgroup配置信息

指令

deleteProjectGroup

类路径

com.alibaba.rocketmq.tools.command.namesrv.DeleteProjectGroupCommand

参数

是否必填

说明

-i

服务器ip

-p

project group名

-h

打印帮助

-n

nameserve服务地址列表,格式ip:port;ip:port;...

举例

 

 

1.2.21.     取得Projectgroup配置信息

指令

getProjectGroup

类路径

com.alibaba.rocketmq.tools.command.namesrv.GetProjectGroupCommand

参数

是否必填

说明

-i

服务器ip

-p

project group名

-h

打印帮助

-n

nameserve服务地址列表,格式ip:port;ip:port;...

举例

 

 

1.2.22.     设置消费进度

l  根据时间来设置消费进度,设置之前要关闭这个订阅组的所有consumer,设置完再启动,方可生效

指令

resetOffsetByTime

类路径

com.alibaba.rocketmq.tools.command.offset.ResetOffsetByTimeSubCommand

参数

是否必填

说明

-f

通过时间戳强制回滚(true|false),默认为true

-s

时间戳

(currentTimeMillis|yyyy-MM-dd#HH:mm:ss:SSS)

-g

消费者所属组名

-t

topic名称

-h

打印帮助

-n

nameserve服务地址列表,格式ip:port;ip:port;...

举例

 

 

1.2.23.     清除特定Broker权限

指令

wipeWritePerm

类路径

com.alibaba.rocketmq.tools.command.namesrv.WipeWritePermSubCommand

参数

是否必填

说明

-b

broker地址

-h

打印帮助

-n

nameserve服务地址列表,格式ip:port;ip:port;...

举例

 

 

1.2.24.     获取Consumer消费进度

l  该命令只打印当前与cluster连接的consumer的消费进度

指令

getConsumerStatus

类路径

com.alibaba.rocketmq.tools.command.offset.GetConsumerStatusCommand

参数

是否必填

说明

-g

消费者所属组名

-t

查询主题

-i

Consumer客户端ip

-h

打印帮助

-n

nameserve服务地址列表,格式ip:port;ip:port;...

举例

查询属于group(消费者组)=simple-consumer-test的消费者在Topic=ZTEExample上的消费状态,nameserve地址为10.45.47.168:9876

sh mqadmin getConsumerStatus -n 10.45.47.168:9876 -g simple-consumer-test -t ZTEExample

get consumer status from client. group=simple-consumer-test, topic=ZTEExample, originClientId=

#clientId                                          #brokerName    #queueId    #offset            

10.45.46.229@simple-consumer-test-3f89fb692e874640    crm-168        4           0                  

10.45.46.229@simple-consumer-test-3f89fb692e874640    crm-168        0           2                  

10.45.46.229@simple-consumer-test-3f89fb692e874640    crm-168        3           0                  

10.45.46.229@simple-consumer-test-3f89fb692e874640    crm-168        1           0                  

10.45.46.229@simple-consumer-test-3f89fb692e874640    crm-168        5           0                  

10.45.46.229@simple-consumer-test-3f89fb692e874640    crm-168        6           0                  

10.45.46.229@simple-consumer-test-3f89fb692e874640    crm-168        7           0                  

10.45.46.229@simple-consumer-test-3f89fb692e874640    crm-168        2           0  

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值