RocketMQ運維指令

 羣裏的哥們兒分享的,寫上來方便查看,如有侵權,請聯繫我刪除

 

RocketMQ運維指令


 

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  

 

發佈了50 篇原創文章 · 獲贊 69 · 訪問量 25萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章