欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

RocketMQ实战系列-RocketMQ命令详解

程序员文章站 2022-05-29 22:04:10
...

导语
  之前分析了关于RocketMQ源码的东西,接下来的阶段就是进入到实战的相关系列操作中,在这个系列中也会继续从源码的角度入手,深入的分析,在RocketMQ中的编程思想。下面就来介绍一下在RocketMQ中使用到的相关命令。

RocketMQ命令详解

RocketMQ安装后的bin目录下"mqadmin"执行命令,用来执行RocketMQ的命令集

Broker

clusterList:查看集群
参数 是否必填 说明
-m 打印更多信息
-h 打印帮助
-n nameserve 服务地址列表,格式ip:port;ip:port;…
./bin/admin clusterList -n 192.168.3.236:9876
updateBrokerConfig:更新Broker 配置文件
参数 是否必填 说明
-b 如果–c为空,则必填 broker 地址,表示订阅组建在该broker
-c 如果–b 为空,则必填 cluster名称,表示topic 建在该集群(集群可通过clusterList查询)
-k key 值
-v value 值
-h 打印帮助
-n nameserve 服务地址列表,格式ip:port;ip:port;…
./bin/mqadmin updateBrokerConfig -n 192.168.3.236:9876 -c loyalRocketMQCluster -k brokerName -v test
brokerStatus:查看broker状态
参数 是否必填 说明
-b broker 地址
-h 打印帮助
-n nameserve 服务地址列表,格式ip:port;ip:port;…
./bin/mqadmin brokerStatus -n 192.168.3.236:9876 -b rocketmq-nameserver-1:10911

Topic

updateTopic:创建Topic
参数 是否必填 说明
-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 名称(名称只能使用字符 1+$ )
# 示例:在RocketMQ安装目录下
./bin/mqadmin updateTopic -t loyalTopic -c loyalRocketMQCluster -n 192.168.3.236:9876
deleteTopic:删除Topic
参数 是否必填 说明
-c cluster 名称,表示删除某集群下的某个topic (集群可通过clusterList 查询)
-h 打印帮助
-n nameserve 服务地址列表,格式ip:port;ip:port;…
-t topic 名称(名称只能使用字符 2+$ )
./bin/mqadmin deleteTopic -t loyalTopic -c loyalRocketMQCluster -n 192.168.3.236:9876
topicList:查看Topic 列表
参数 是否必填 说明
-h 打印帮助
-n nameserve 服务地址列表,格式ip:port;ip:port;…
./bin/mqadmin topicList -n 192.168.3.236:9876
topicRoute:查看Topic 路由
参数 是否必填 说明
-t topic 名称
-h 打印帮助
-n nameserve 服务地址列表,格式ip:port;ip:port;
./bin/mqadmin topicRoute -n 192.168.3.236:9876 -t loyalTest
topicStatus:查看Topic统计信息
参数 是否必填 说明
-t topic 名称
-h 打印帮助
-n nameserve 服务地址列表,格式ip:port;ip:port;…
./bin/mqadmin topicStatus -n 192.168.3.236:9876 -t loyalTest

Consumer:消费者

updateSubGroup:修订、创建订阅组
参数 是否必填 说明
-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;…
./bin/mqadmin updateSubGroup -n 192.168.3.236:9876 -g loyalTestConsumerGroup -c loyalRocketMQCluster 
deleteSubGroup:删除订阅组
参数 是否必填 说明
-b 如果–c 为空,则必填 broker 地址,表示订阅组建在该broker
-c 如果–b 为空,则必填 cluster 名称,表示topic建在该集群(集群可通过clusterList查询)
-g 订阅组名
-h 打印帮助
-n nameserve 服务地址列表,格式ip:port;ip:port;…
./bin/mqadmin deleteSubGroup -n 192.168.3.236:9876 -g loyalTestConsumerGroup -c loyalRocketMQCluster
consumerProgress:查看订阅组消费状态
参数 是否必填 说明
-g 消费者所属组名
-h 打印帮助
-n nameserve 服务地址列表,格式ip:port;ip:port;
./bin/mqadmin consumerProgress -n 192.168.3.236:9876 -g loyalTestConsumerGroup
consumerConnection:查看Consumer的连接信息
参数 是否必填 说明
-g 消费者所属组名
-h 打印帮助
-n nameserve 服务地址列表,格式ip:port;ip:port;…
./bin/mqadmin consumerConnection -n 192.168.3.236:9876 -g loyalTestConsumerGroup
getConsumerStatus:获取Consumer消费进度
参数 是否必填 说明
-g 消费者所属组名
-t 查询主题
-i Consumer 客户端ip
-h 打印帮助
-n nameserve 服务地址列表,格式ip:port;ip:port;…
./bin/mqadmin getConsumerStatus -n 192.168.3.236:9876 -g loyalTestConsumerGroup -t
queryMsgByKey :根据消息Key 查询消息
参数 是否必填 说明
-f 被查询消息的截止时间
-k msgKey
-t topic 名称
-h 打印帮助
-n nameserve 服务地址列表,格式ip:port;ip:port;…
./bin/mqadmin queryMsgByKey -n 192.168.3.236:9876 -t loyalTest -k testKey
queryMsgById:根据消息ID 查询消息
参数 是否必填 说明
-i 消息id
-h 打印帮助
-n nameserve 服务地址列表,格式ip:port;ip:port;…
./bin/mqadmin queryMsgById -n 192.168.3.236:9876 -i C0A803EC00002A9F00000000000136FD
queryMsgByOffset:根据消息的偏移值来查询消息
参数 是否必填 说明
-b Broker 名称,表示订阅组建在该broker(这里需要注意填写的是broker 的名称,不是broker 的地址,broker名称可以在clusterList 查到
-i query 队列id
-o offset 值
-t topic 名称
-h 打印帮助
-n nameserve 服务地址列表,格式ip:port;ip:port;…
./bin/mqadmin queryMsgByOffset -n 192.168.3.236:9876 -b rocketmq-nameserver-1 -i 10 -o 1 -t loyalTest

Producer

producerConnection:查询Producer 的网络连接
参数 是否必填 说明
-g 生产者所属组名
-t topic 名称
-h 打印帮助
-n nameserve 服务地址列表,格式ip:port;ip:port;…
./bin/mqadmin producerConnection -n 192.168.3.236:9876 -g testProducerGroup -t testTopic

Console

启动Console
# 运行jar包,指定端口及名称服务器集群地址
nohup java -jar ./rocketmq-console-ng-1.0.0.jar --server.port=8080 --rocketmq.config.namesrvAddr=10.16.13.90:9876,10.16.13.91:9876 &

总结

  上面的内容介绍了关于在不同的地方使用RocketMQ 的命令,在之前分析源码的时候也看到过关于这些命令的操作。在后续的操作分析中也会继续为大家分析这些命令背后的隐藏的逻辑。从源码入手,从原理入手,深入的学习RocketMQ,要想更好的使用工具,首先要更好的了解工具,让工具变成自己的东西。


  1. a-zA-Z0-9_- ↩︎

  2. a-zA-Z0-9_- ↩︎