rocketmq集群、配置详解和常用命令

集群原文地址: http://www.cnblogs.com/520playboy/p/6716235.html

 常用命令原文地址: http://www.cnblogs.com/gmq-sh/p/6232633.html

rocketmq集群

第一步:先安装jdk, maven等工具
    vim /etc/profile 添加

    JAVA_HOME=/usr/java/jdk1.8.0_65
    CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
    M2_HOME=/usr/local/apache-maven-3.3.9
    PATH=$M2_HOME/bin:$JAVA_HOME/bin:$PATH
    export JAVA_HOME
    export CLASSPATH
    export M2_HOME
    export PATH

    source /etc/profile

第二步:安装RocketMQ 
    https://github.com/alibaba/RocketMQ最新版本RocketMQ-3.4.6.tar.gz
    tar -xvzf RocketMQ-3.4.6.tar.gz
    cd RocketMQ-3.4.6
    sh install.sh

    可以看到安装成功了.有个软链接 devenv

    cd devenv/bin
    chmod +x mqadmin mqbroker mqfiltersrv mqshutdown mqnamesrv

第三步: 修改配置文件
    vim /opt/RocketMQ-3.4.6/devenv/conf/2m-noslave/broker-a.properties
    brokerClusterName=DefaultCluster
    brokerName=broker-a
    namesrvAddr=namesrv1.rocket.pccb.com:9876;namesrv2.rocket.pccb.com:9876
    autoCreateTopicEnable=flase
    autoCreateSubscriptionGroup=flase
    brokerId=0
    deleteWhen=04
    fileReservedTime=48
    brokerRole=ASYNC_MASTER
    flushDiskType=ASYNC_FLUSH

    vim /opt/RocketMQ-3.4.6/devenv/conf/2m-noslave/broker-b.properties
    brokerClusterName=DefaultCluster
    brokerName=broker-b
    brokerId=0
    namesrvAddr=namesrv1.rocket.pccb.com:9876;namesrv2.rocket.pccb.com:9876
    autoCreateTopicEnable=flase
    autoCreateSubscriptionGroup=flase
    deleteWhen=04
    fileReservedTime=48
    brokerRole=ASYNC_MASTER
    flushDiskType=ASYNC_FLUSH

    绑定host,在两台机子上
    [root@node-214 /opt/RocketMQ-3.4.6/devenv/bin 17:28:01&&245]#cat /etc/hosts
    127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
    ::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
    192.168.55.214 node-214
    192.168.55.214 namesrv1.rocket.pccb.com
    192.168.55.215 namesrv2.rocket.pccb.com
第四步、启动和关闭
    启动
        /opt/RocketMQ-3.4.6/devenv/bin/mqnamesrv > /tmp/mqnamesrv.log &
        /opt/RocketMQ-3.4.6/devenv/bin/mqbroker -c /opt/RocketMQ-3.4.6/devenv/conf/2m-noslave/broker-a.properties > /tmp/mqbroker.log &
        另一台
        /opt/RocketMQ-3.4.6/devenv/bin/mqnamesrv > /tmp/mqnamesrv.log &
        /opt/RocketMQ-3.4.6/devenv/bin/mqbroker -c /opt/RocketMQ-3.4.6/devenv/conf/2m-noslave/broker-b.properties > /tmp/mqbroker.log &
    关闭
        /opt/RocketMQ-3.4.6/devenv/bin/mqshutdown namesrv
        /opt/RocketMQ-3.4.6/devenv/bin/mqshutdown broker

rocketmq配置详解

#所属集群名字 brokerClusterName=rocketmq-cluster
#broker名字,注意此处不同的配置文件填写的不一样 brokerName=broker-a|broker-b
#0 表示 Master,>0 表示 Slave brokerId=0
#nameServer地址,分号分割
namesrvAddr=rocketmq-nameserver1:9876;rocketmq-nameserver2:9876
#在发送消息时,自动创建服务器不存在的topic,默认创建的队列数
defaultTopicQueueNums=4
#是否允许 Broker 自动创建Topic,建议线下开启,线上关闭
autoCreateTopicEnable=true
#是否允许 Broker 自动创建订阅组,建议线下开启,线上关闭
autoCreateSubscriptionGroup=true
#Broker 对外服务的监听端口
listenPort=10911
#删除文件时间点,默认凌晨 4点
deleteWhen=04
#文件保留时间,默认 48 小时 fileReservedTime=120
#commitLog每个文件的大小默认1G mapedFileSizeCommitLog=1073741824
#ConsumeQueue每个文件默认存30W条,根据业务情况调整 mapedFileSizeConsumeQueue=300000
#destroyMapedFileIntervalForcibly=120000
#redeleteHangedFileInterval=120000
#检测物理文件磁盘空间 diskMaxUsedSpaceRatio=88
#存储路径
storePathRootDir=/usr/local/rocketmq/store  (默认在启动用户家目录下)
#commitLog 存储路径 storePathCommitLog=/usr/local/rocketmq/store/commitlog
#消费队列存储路径存储路径
storePathConsumeQueue=/usr/local/rocketmq/store/consumequeue
#消息索引存储路径
storePathIndex=/usr/local/rocketmq/store/index
#checkpoint 文件存储路径
storeCheckpoint=/usr/local/rocketmq/store/checkpoint
#abort 文件存储路径
abortFile=/usr/local/rocketmq/store/abort
#限制的消息大小 maxMessageSize=65536

#flushCommitLogLeastPages=4
#flushConsumeQueueLeastPages=2
#flushCommitLogThoroughInterval=10000
#flushConsumeQueueThoroughInterval=60000

#Broker 的角色
#- ASYNC_MASTER 异步复制Master
#- SYNC_MASTER 同步双写Master
#- SLAVE
brokerRole=ASYNC_MASTER

#刷盘方式
#- ASYNC_FLUSH 异步刷盘
#- SYNC_FLUSH 同步刷盘
flushDiskType=ASYNC_FLUSH

#checkTransactionMessageEnable=false
#发消息线程池数量
#sendMessageThreadPoolNums=128
#拉消息线程池数量
#pullMessageThreadPoolNums=128

rocketmq常用命令

首先进入 RocketMQ 工程,进入/RocketMQ/bin   在该目录下有个 mqadmin 脚本 .
 查看帮助:   在 mqadmin 下可以查看有哪些命令  
 a: 查看具体命令的使用 : sh mqadmin    
 b: sh mqadmin help 命令名称  


例如,查看 updateTopic 的使用
sh mqadmin help updateTopic

2. 关闭nameserver和所有的broker:

   进入到bin下: 

   sh mqshutdown namesrv

   sh mqshutdown broker

3. 查看所有消费组group:

   sh mqadmin consumerProgress -n 192.168.1.23:9876

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

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

5. 查看所有topic :

     sh mqadmin topicList -n 192.168.1.23:9876

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

   sh mqadmin topicstatus -n 192.168.1.23:9876 -t topicWarning

7.  新增topic

   sh mqadmin updateTopic -n 192.168.1.23:9876 -c DefaultCluster -t topicWarning
8.查看topic路由信息
  sh mqadmin topicRoute –n 10.45.47.168:9876 –t testb
8. 删除topic sh mqadmin deleteTopic -n 192.168.1.23:9876 -c DefaultCluster -t topicWarning # -c 集群名 -t topic名 9、查询集群消息 sh mqadmin clusterList -n 192.168.1.23:9876 #9876是namesrv的端口

  10、添加订阅
/opt/apps/alibaba-rocketmq/bin/mqadmin updateSubGroup -n 172.16.0.155:9876 -c DefaultCluster -g bank_deposition_common

 

 rocketmq详细命令

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 -n  192.168.100.194:9876 -c AdpMqCluster  -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