RocketMQ控制台命令

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

使用步骤

进入rocketmq目录下的bin目录,可以看到该目录下有个mqadmin脚本

常用命令

查看帮助:

sh mqadmin help 命令名称

例如,查看updateTopic的使用

sh mqadmin help updateTopic

创建(修改)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 10.45.47.168 –c DefaultCluster –t ZTEExample

删除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 –n 10.45.47.168:9876 –c DefaultCluster –t ZTEExample

创建(修改)订阅组

 

指令

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;...

举例

 

 

 删除订阅组配置

 

指令

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;...

举例

 

 

更新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;...

举例

 

 

查看topic列表信息

 

指令

topicList

类路径

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

参数

是否必填

说明

-h

打印帮助

-n

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

举例

nameserve地址为192.168.140.129:9876;192.168.140.128:9876

sh mqadmin topicList -n 192.168.140.129:9876;192.168.140.128:9876

打印内容:

%DLQ%consumer1
BenchmarkTest
TopicTest
broker-a
DefaultCluster
SELF_TEST_TOPIC
rocketmq-cluster
broker-b
TBW102
%RETRY%consumer1
OFFSET_MOVED_EVENT

 

 

查看topic路由信息

 

 

指令

topicRoute

类路径

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

参数

是否必填

说明

-t

topic名称

-h

打印帮助

-n

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

举例

查看主题%DLQ%consumer1的路由,nameserve地址为192.168.140.129:9876

sh mqadmin topicRoute -n 192.168.140.129:9876 -t %DLQ%consumer1

打印内容:

 

{
"brokerDatas":[
{
"brokerAddrs":{0:"192.168.140.128:10911"
},
"brokerName":"broker-a"
},
{
"brokerAddrs":{0:"192.168.140.129:10911"
},
"brokerName":"broker-b"
}
],
"filterServerTable":{},
"queueDatas":[
{
"brokerName":"broker-b",
"perm":6,
"readQueueNums":8,
"topicSynFlag":0,
"writeQueueNums":8
},
{
"brokerName":"broker-a",
"perm":6,
"readQueueNums":8,
"topicSynFlag":0,
"writeQueueNums":8
}
]
}

 

 

查看topic统计信息

 

指令

topicStatus

类路径

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

参数

是否必填

说明

-t

topic名称

-h

打印帮助

-n

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

举例

查看主题%DLQ%consumer1的统计信息,nameserve地址为192.168.140.129:9876

sh mqadmin  topicStatus -n 192.168.140.129:9876 -t %DLQ%consumer1

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

 

#Broker Name                      #QID  #Min Offset           #Max Offset             #Last Updated
broker-a                          0     0                     2                       2018-06-27 12:30:43,799
broker-a                          1     0                     0                       
broker-a                          2     0                     0                       
broker-a                          3     0                     0                       
broker-a                          4     0                     0                       
broker-a                          5     0                     0                       
broker-a                          6     0                     0                       
broker-a                          7     0                     0                       
broker-b                          0     0                     0                       
broker-b                          1     0                     0                       
broker-b                          2     0                     0                       
broker-b                          3     0                     0                       
broker-b                          4     0                     0                       
broker-b                          5     0                     0                       
broker-b                          6     0                     0                       
broker-b                          7     0                     0   

   

 

查看broker统计信息

 

指令

brokerStatus

类路径

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

参数

是否必填

说明

-b

broker地址

-h

打印帮助

-n

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

举例

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

sh mqadmin brokerStatus  –n 192.168.159.128:9876 -b 192.168.159.128:10911

打印内容:

 

bootTimestamp                   : 1530064800815
brokerVersion                   : 79
brokerVersionDesc               : V3_2_6
commitLogDiskRatio              : 0.0884271336380361
commitLogMaxOffset              : 18354
commitLogMinOffset              : 0
consumeQueueDiskRatio           : 0.0884271336380361
dispatchMaxBuffer               : 35
getFoundTps                     : 0.0 0.0 0.0
getMessageEntireTimeMax         : 6
getMissTps                      : 0.7996801279488205 0.6664334149714267 0.6663790130593626
getTotalTps                     : 0.7996801279488205 0.6664334149714267 0.6663790130593626
getTransferedTps                : 0.0 0.0 0.0
msgGetTotalTodayMorning         : 0
msgGetTotalTodayNow             : 107
msgGetTotalYesterdayMorning     : 0
msgPutTotalTodayMorning         : 0
msgPutTotalTodayNow             : 35
msgPutTotalYesterdayMorning     : 0
putMessageAverageSize           : 262.2
putMessageDistributeTime        : 
34(97.14285714285714%)
1(2.857142857142857%)
0(0.0%)
0(0.0%)
0(0.0%)
0(0.0%)
0(0.0%)
putMessageEntireTimeMax         : 3
putMessageSizeTotal             : 9177
putMessageTimesTotal            : 35
putTps                          : 0.0 0.0 0.0
runtime                         : [ 0 days, 4 hours, 54 minutes, 41 seconds ]
scheduleMessageOffset_10        : 2,2
scheduleMessageOffset_11        : 2,2
scheduleMessageOffset_12        : 2,2
scheduleMessageOffset_13        : 2,2
scheduleMessageOffset_14        : 2,2
scheduleMessageOffset_15        : 2,2
scheduleMessageOffset_16        : 2,2
scheduleMessageOffset_17        : 2,2
scheduleMessageOffset_18        : 4,4
scheduleMessageOffset_3         : 2,2
scheduleMessageOffset_4         : 2,2
scheduleMessageOffset_5         : 2,2
scheduleMessageOffset_6         : 2,2
scheduleMessageOffset_7         : 2,2
scheduleMessageOffset_8         : 2,2
scheduleMessageOffset_9         : 2,2
sendThreadPoolQueueCapacity     : 100000
sendThreadPoolQueueSize         : 0

 

 根据消息ID查询消息

 

指令

queryMsgById

类路径

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

参数

是否必填

说明

-i

msgId

-h

打印帮助

-n

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

举例

查询msgId= C0A89F8000002A9F000000000000449A的消息,nameserve地址为192.168.159.129:9876

sh mqadmin queryMsgById -n 192.168.159.129:9876 -i C0A89F8000002A9F000000000000449A

打印内容:

 

Topic:               %RETRY%consumer1
Tags:                [TagA]
Keys:                [null]
Queue ID:            0
Queue Offset:        31
CommitLog Offset:    17562
Reconsume Times:     16
Born Timestamp:      2018-06-27 13:44:21,220
Store Timestamp:     2018-06-27 12:30:37,794
Born Host:           192.168.159.1:55259
Store Host:          192.168.159.128:10911
System Flag:         0
Properties:          {ORIGIN_MESSAGE_ID=C0A89F8000002A9F00000000000023D9, DELAY=18, REAL_TOPIC=%RETRY%consumer1, TAGS=TagA, WAIT=false, RETRY_TOPIC=TopicTest, REAL_QID=0}
Message Body Path:   /tmp/rocketmq/msgbodys/C0A89F8000002A9F000000000000449A

MessageTrack [consumerGroup=consumer1, trackType=SUBSCRIBED_AND_CONSUMED, exceptionDesc=null]

 

 

根据消息key查询消息

 

 

指令

queryMsgByKey

类路径

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

参数

是否必填

说明

-f

被查询消息的截止时间

-k

msgKey

-t

Topic名称

-h

打印帮助

-n

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

举例

查询Topic= TopicTest下key=i0的消息,nameserve地址为192.168.140.128:9876

sh mqadmin queryMsgByKey -n 192.168.140.128:9876 -t TopicTest -k i0

打印内容:

#Message ID                                        #QID                                  #Offset
C0A89F8000002A9F00000000000047B2                      0                                        2

根据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=broker-a,Topic= TopicTest的第1个队列下offset=0的消息,nameserve地址为192.168.140.128:9876

sh mqadmin queryMsgByOffset -n 192.168.140.128:9876 -b broker-a -i 0 -t TopicTest -o 0

打印内容:

Topic:               TopicTest
Tags:                [TagA]
Keys:                [null]
Queue ID:            0
Queue Offset:        0
CommitLog Offset:    0
Reconsume Times:     0
Born Timestamp:      2018-06-26 15:18:13,368
Store Timestamp:     2018-06-26 15:18:14,087
Born Host:           192.168.140.1:54978
Store Host:          192.168.140.128:10911
System Flag:         0
Properties:          {TAGS=TagA, WAIT=true}
Message Body Path:   /tmp/rocketmq/msgbodys/C0A89F8000002A9F0000000000000000

MessageTrack [consumerGroup=consumer1, trackType=SUBSCRIBED_AND_CONSUMED, exceptionDesc=null]

注:以下命令均未测试过

查询Producer的网络连接

该命令只打印当前与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

 查询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

 查看订阅组消费状态

指令

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

 

查看集群消息

指令

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 10.45.47.168:9876

打印内容:

#Cluster Name  #Broker Name  #BID  #Addr               #Version   #InTPS     #OutTPS

CRM            crm-168       0     10.45.47.168:10911  V3_0_7       0.00        0.00

CRM            crm-181       0     10.45.47.181:10911  V3_0_7       0.00        0.00

 

sh mqadmin clusterList -n 10.45.47.168:9876 –m

#Cluster Name    #Broker Name  #InTotalYest  #OutTotalYest  #InTotalToday   #OutTotalToday

CRM           crm-168                 0             0              2              3

CRM           crm-181                 0             0              0              0

添加(更新)KV配置信息

指令

updateKvConfig

类路径

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

参数

是否必填

说明

-k

key值

-v

value值

-s

Namespace值

-h

打印帮助

-n

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

举例

 

 

删除KV配置信息

指令

deleteKvConfig

类路径

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

参数

是否必填

说明

-k

key值

-s

Namespace值

-h

打印帮助

-n

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

举例

 

 

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

指令

updateProjectGroup

类路径

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

参数

是否必填

说明

-i

服务器ip

-p

project group名

-h

打印帮助

-n

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

举例

 

 

删除Projectgroup配置信息

指令

deleteProjectGroup

类路径

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

参数

是否必填

说明

-i

服务器ip

-p

project group名

-h

打印帮助

-n

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

举例

 

 

取得Projectgroup配置信息

指令

getProjectGroup

类路径

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

参数

是否必填

说明

-i

服务器ip

-p

project group名

-h

打印帮助

-n

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

举例

 

 

 设置消费进度

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;...

举例

 

 

清除特定Broker权限

指令

wipeWritePerm

类路径

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

参数

是否必填

说明

-b

broker地址

-h

打印帮助

-n

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

举例

 

 

获取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、付费专栏及课程。

余额充值