RocketMQ运维指令

原文档链接地址:http://pan.baidu.com/s/1pK7IAgz

RocketMQ运维指令 

1.1.    控制台使用
RocketMQ提供有控制台及一系列控制台命令,用于管理员对主题,集群,broker等信息的管理;
    登录控制台:
首先进入RocketMQ工程,进入/RocketMQ/bin
在该目录下有个mqadmin脚本
    查看帮助:
在mqadmin下可以查看有哪些命令
        sh mqadmin
    查看具体命令的使用
sh mqadmin help 命令名称
例如,查看updateTopic的使用
sh mqadmin help updateTopic
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的网络连接
    该命令只打印当前与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的网络连接
    该命令只打印当前与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.    删除Project group配置信息
指令    deleteProjectGroup    类路径    com.alibaba.rocketmq.tools.command.namesrv.DeleteProjectGroupCommand
参数    是否必填    说明
-i    是    服务器ip
-p    是    project group名
-h    否    打印帮助
-n    是    nameserve服务地址列表,格式ip:port;ip:port;...
举例    

1.2.21.    取得Project group配置信息
指令    getProjectGroup    类路径    com.alibaba.rocketmq.tools.command.namesrv.GetProjectGroupCommand
参数    是否必填    说明
-i    是    服务器ip
-p    是    project group名
-h    否    打印帮助
-n    是    nameserve服务地址列表,格式ip:port;ip:port;...
举例    


1.2.22.    设置消费进度
    根据时间来设置消费进度,设置之前要关闭这个订阅组的所有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消费进度
    该命令只打印当前与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   

转载于:https://my.oschina.net/tantexian/blog/672572

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值