进入RocketMQ/bin目录:
-
查看帮助: sh mqadmin help
-
关闭nameserver和所有的broker:
- sh mqshutdown namesrv
- sh mqshutdown broker
-
查看所有消费组group:
- sh mqadmin consumerProgress -n 192.168.1.23:9876
-
查看指定消费组下的所有topic数据堆积情况:
- sh mqadmin consumerProgress -n 192.168.1.23:9876 -g warning-group
-
查看所有topic :
- sh mqadmin topicList -n 192.168.1.23:9876
-
查看topic信息列表详情统计
- sh mqadmin topicstatus -n 192.168.1.23:9876 -t topicWarning
-
新增topic
- sh mqadmin updateTopic –n 192.168.1.23:9876 –c DefaultCluster –t topicWarning
-
删除topic
- sh mqadmin deleteTopic –n 192.168.1.23:9876 –c DefaultCluster –t topicWarning
-
查询集群消息
- sh mqadmin clusterList -n 192.168.1.23:9876
创建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 |
删除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 |
创建(修订)订阅组
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地址为10.45.47.168:9876 |
---|
sh mqadmin topicList –n 10.45.47.168:9876 |
查看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 |
查看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 |
查看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 |
根据消息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 |
根据消息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 |
根据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 |
查询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 |
查询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 |
查看订阅组消费状态
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 |
查看集群消息
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 |
sh mqadmin clusterList -n 192.168.100.193:9876 -m |
添加(更新)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;… |
设置消费进度
根据时间来设置消费进度,设置之前要关闭这个订阅组的所有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消费进度
该命令只打印当前与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 ZTEExampleget consumer status from client. group=simple-consumer-test, topic=ZTEExample, originClientId= |