mqadmin管理工具
1、执行命令方法: ./mqadmin {command} {args}
2、几乎所有命令都需要配置-n表示NameServer地址,格式为ip:port
3、几乎所有命令都可以通过-h获取帮助
4、如果既有Broker地址(-b)配置项又有clusterName(-c)配置项,则优先以Broker地址执行命令,如果不配置Broker地址,则对集群中所有主机执行命令,只支持一个Broker地址。-b格式为ip:port,port默认是10911
5、在tools下可以看到很多命令,但并不是所有命令都能使用,只有在MQAdminStartup中初始化的命令才能使用,你也可以修改这个类,增加或自定义命令
6、由于版本更新问题,少部分命令可能未及时更新,遇到错误请直接阅读相关命令源码
7、查看集群信息:可以查看Clustername和brokerName的信息
sh mqadmin clusterList -n 111.x.xx.xxx:9876
8、创建topic:
sh mqadmin updateTopic -c Clustername -n localhost:9876 -t zytesttopic
9、查看topic列表:
sh mqadmin topicList -n 111.x.xx.xxx:9876
10、查看指定topic路由信息:
sh mqadmin topicRoute -n 111.x.xx.xxx:9876 -t testtopic1
11、查看指定topic状态:
sh mqadmin topicStatus -n 11.x.xx.xxx:9876 -t testtopic1
12、创建消费者组:
sh mqadmin updateSubGroup -n localhost:9876 -c DefaultCluster -g testzygroup1
13、查看消费者组:查看订阅组消费状态
sh mqadmin consumerProgress -n localhost:9876
14、删除订阅组:
sh mqadmin deleteSubGroup -c DefaultCluster -n 127.0.0.1:9876 -g testzygroup1
15、发送消息:
mqadmin sendMessage -n 111.x.xx.xxx:19876 -t topic01 -p 'hello messagebody' -c tagtest -k keytest
16、消费消息:
sh mqadmin consumeMessage -n 111.x.xx.xxx:9876 -t zytesttopic -b rocketmq02-broker-0 -c 1 -g subzygroup1
Topic相关
启动集群
[root@node1 ~]# nohup sh mqnamesrv &
[root@node1 ~]# nohup sh mqbroker -n node1:9876 -c /opt/rocketmq/conf/2m-2ssync/broker-a.properties &
[root@node2 ~]# nohup sh mqbroker -n node1:9876 -c /opt/rocketmq/conf/2m-2ssync/broker-a-s.properties &
[root@node3 ~]# nohup sh mqbroker -n node1:9876 -c /opt/rocketmq/conf/2m-2ssync/broker-b.properties &
[root@node4 ~]# nohup sh mqbroker -n node1:9876 -c /opt/rocketmq/conf/2m-2ssync/broker-b-s.properties &
命令列表
updateTopic
作用:修改或创建一个Topic
命令:mqadmin updateTopic -b | -c [-h] [-n ] [-o ] [-p ] [-r ] [-s ] -t [-u ] [-w ]
参数 |
含义 |
备注 |
-b,–brokerAddr |
broker 地址,表示topic 建在该broker |
如果-c为空,则必填 |
-c,–clusterName |
cluster 名称,表示topic 建在该集群 |
如果-b为空,则必填 |
-h,–help |
打印help信息 |
|
-n,–namesrvAddr |
name server地址列表 |
以分号分割,例如:192.168.0.1:9876;192.168.0.2:9876 |
-o,–order |
设置topic是否为有序的 |
取值:true、false(默认) |
-p,–perm |
设置topic的权限 |
取值:2、4、6;含义:2-W、4-R、6-RW(默认) |
-r,–readQueueNums |
设置可读队列数 |
默认为8 |
-s,–hasUnitSub |
设置是否有unit sub |
取值:true、false |
-t,–topic |
设置topic名称 |
名称只能使用字符 ^[a-zA-Z0-9_-]+$ |
-u,–unit |
设置是否为unit topic |
取值:true、false |
-w,–writeQueueNums |
设置可写队列数 |
默认为8 |
注意:
- -b 和–brokerAddr 是等价的,-b是缩写,其余同理;(后面的全称都是两个短横线,由于md自动转译了,就不一一改了,太多了)
- 本文所有配置信息,基于RocketMQ 4.7.1整理;
- 一般来说[]内的参数为可选参数,但是经过验证,不指定nameserver地址,是会报错的;
示例:
[root@localhost-001 bin]
RocketMQLog:WARN No appenders could be found for logger (io.netty.util.internal.PlatformDependent0).
RocketMQLog:WARN Please initialize the logger system properly.
create topic to 172.24.30.194:10911 success.
create topic to 172.24.30.193:10911 success.
create topic to 172.24.30.192:10911 success.
TopicConfig [topicName=zhurunhua, readQueueNums=8, writeQueueNums=8, perm=RW-, topicFilterType=SINGLE_TAG, topicSysFlag=0, order=false]
[root@localhost-001 bin]
deleteTopic
作用:从broker和nameserver删除topic
命令:mqadmin deleteTopic -c [-h] [-n ] -t