您的位置:首页 > 运维架构

阿里巴巴rocketmq的运维指令

2015-11-12 14:02 411 查看

1.1. 控制台使用

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

l 登录控制台:

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

在该目录下有个mqadmin脚本

l 查看帮助:

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

shmqadmin

l 查看具体命令的使用

sh mqadmin help 命令名称

例如,查看updateTopic的使用

sh mqadmin helpupdateTopic

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 10.45.47.168 –c DefaultCluster –t ZTEExample

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

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

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

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: