RocketMQ运维管理命令mqadmin-Topic

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

参数

含义

备注

-c,–clusterName

指定cluster名称

-h,–help

打印help信息

-n,–namesrvAddr

name server地址列表

以分号分割,例如:192.168.0.1:9876;192.168.0.2:9876

-t,–topic

设置topic名称

示例

1
2
3
4
5

[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.
delete topic [zhurunhua] from cluster [xdf-test1] success.
delete topic [zhurunhua] from NameServer success.

topicList

作用:从nameserver列出所有topic

命令:mqadmin topicList [-c] [-h] [-n ]

参数

含义

备注

-h,–help

打印help信息

-n,–namesrvAddr

nameserver服务地址列表

-c,–clusterModel

指定cluster模式

示例

1
2
3
4
5
6
7
8
9

[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.
%DLQ%xxoo
%RETRY%dfub-order
BenchmarkTest
testschedule
...
...

updateTopicPerm

作用:更新topic权限

命令:mqadmin updateTopicPerm [-b ] [-c ] [-h] [-n ] -p -t

参数

含义

备注

-b,–brokerAddr

设置更新哪个broker

-c,–clusterName

设置更新哪个cluster

-h,–help

打印help信息

-n,–namesrvAddr

nameserver服务地址列表

-p,–perm

设置topic的权限

取值:2、4、6;含义:2-W、4-R、6-RW

-t,–topic

设置修改的topic名称

示例

1
2
3
4
5

[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.
update topic perm from 6 to 4 in 172.24.30.192:10911 success.
TopicConfig [topicName=zhurunhua, readQueueNums=8, writeQueueNums=8, perm=R--, topicFilterType=SINGLE_TAG, topicSysFlag=0, order=false].

注意:需要同时指定nameserver和brokerAddr

topicRoute

作用:检查topic路由信息

命令:mqadmin topicRoute [-h] [-n ] -t

参数

含义

备注

-h,–help

打印help信息

-n,–namesrvAddr

nameserver服务地址列表

-t,–topic

topic名称

示例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49

[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.
{
        "brokerDatas":[
                {
                        "brokerAddrs":{0:"172.24.30.193:10911",1:"172.24.30.192:11911"
                        },
                        "brokerName":"broker-b",
                        "cluster":"xdf-test1"
                },
                {
                        "brokerAddrs":{0:"172.24.30.194:10911",1:"172.24.30.193:11911"
                        },
                        "brokerName":"broker-c",
                        "cluster":"xdf-test1"
                },
                {
                        "brokerAddrs":{0:"172.24.30.192:10911",1:"172.24.30.194:11911"
                        },
                        "brokerName":"broker-a",
                        "cluster":"xdf-test1"
                }
        ],
        "filterServerTable":{},
        "queueDatas":[
                {
                        "brokerName":"broker-c",
                        "perm":6,
                        "readQueueNums":8,
                        "topicSynFlag":0,
                        "writeQueueNums":8
                },
                {
                        "brokerName":"broker-b",
                        "perm":6,
                        "readQueueNums":8,
                        "topicSynFlag":0,
                        "writeQueueNums":8
                },
                {
                        "brokerName":"broker-a",
                        "perm":4,
                        "readQueueNums":8,
                        "topicSynFlag":0,
                        "writeQueueNums":8
                }
        ]
}

topicStatus

作用:检查topic的状态信息

命令:mqadmin topicStatus [-h] [-n ] -t

参数

含义

备注

-h,–help

打印help信息

-n,–namesrvAddr

nameserver服务地址列表

-t,–topic

topic名称

示例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28

[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.

broker-a                          0     0                     0                       
broker-a                          1     0                     0                       
broker-a                          2     0                     0                       
broker-a                          3     0                     0                       
broker-a                          4     0                     0                       
broker-a                          5     0                     0                       
broker-a                          6     0                     0                       
broker-a                          7     0                     0                       
broker-b                          0     0                     0                       
broker-b                          1     0                     0                       
broker-b                          2     0                     0                       
broker-b                          3     0                     0                       
broker-b                          4     0                     0                       
broker-b                          5     0                     0                       
broker-b                          6     0                     0                       
broker-b                          7     0                     0                       
broker-c                          0     0                     0                       
broker-c                          1     0                     0                       
broker-c                          2     0                     0                       
broker-c                          3     0                     0                       
broker-c                          4     0                     0                       
broker-c                          5     0                     0                       
broker-c                          6     0                     0                       
broker-c                          7     0                     0                       

topicClusterList

作用:获取topic的集群信息

命令:mqadmin topicClusterList [-h] [-n ] -t

参数

含义

备注

-h,–help

打印help信息

-n,–namesrvAddr

nameserver服务地址列表

-t,–topic

topic名称

示例

1
2
3
4
5

[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.
xdf-test1
[root@localhost-001 bin]

cleanUnusedTopic

作用:清理未使用的topic

命令:mqadmin cleanUnusedTopic [-b ] [-c ] [-h] [-n ]

参数

含义

备注

-h,–help

打印help信息

-n,–namesrvAddr

nameserver服务地址列表

-b,–brokerAddr

broker地址

-c,–cluster

集群名称

示例

1
2
3
4
5

[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.
success
[root@localhost-001 bin]

注意:需同时指定nameserver和broker地址,若只指定了nameserver,会报错:wait response on the channel <172.24.30.192:9876> timeout, 4904(ms)

        具体操作


# 查看指定NameServer下的主题
[root@node4 ~]# mqadmin topicList -n node1:9876
# 查看指定NameServer,指定集群名称下的主题
[root@node4 ~]# mqadmin topicList -n node1:9876 -c DefaultCluster
# 创建主题,指定NameServer,指定Broker 指定主题名称,指定主题的写队列个数,指定读主题队
列个数
[root@node4 ~]# mqadmin updateTopic -b node1:10911 -r 3 -w 3 -t tp_admin_01
# 描述主题,指定NameServer,指定主题名称
[root@node4 ~]# mqadmin topicStatus -t tp_admin_01 -n node1:9876
# 创建主题,指定NameServer,指定集群名称,指定主题名称,指定读主题队列个数,指定写主题队
列个数
[root@node4 ~]# mqadmin updateTopic -c DefaultCluster -n node1:9876 -r 3 -w
3 -t tp_admin_02
# 查看指定主题的状态,指定NameServer地址,指定主题名称
[root@node4 ~]# mqadmin topicStatus -t tp_admin_02 -n node1:9876
#删除主题,指定NameServer地址,指定集群名称,指定主题名称
[root@node3 ~]# mqadmin deleteTopic -n node1:9876 -c DefaultCluster -t
tp_admin_03
# 查看主题所在的集群,指定NameServer地址,指定主题名称。因为不同集群可以拥有同名的主题,
并且不同集群可以注册到同一个NameServer
[root@node3 ~]# mqadmin topicClusterList -n node1:9876 -t tp_admin_02
# 计算消费的负载均衡,不同的-i列表,计算不同的消费平衡负载结果
[root@node3 ~]# mqadmin allocateMQ -n node1:9876 -t tp_admin_02 -i
node1,node3
[root@node3 ~]# mqadmin allocateMQ -n node1:9876 -t tp_admin_02 -i
node1,node2,node3,node4
# 打印Topic订阅关系、TPS、积累量、24h读写总量等信息
[root@node3 ~]# mqadmin statsAll -n node1:9876


        集群相关

在这里插入图片描述

# 查看集群信息,集群、BrokerName、BrokerId、TPS等信息
[root@node3 ~]# mqadmin clusterList -n node1:9876 -i 1 -m
# 检查集群中broker的延迟。
[root@node3 ~]# mqadmin clusterRT -a 5 -s 1048576 -c DefaultCluster -p true -
i 2 -n node1:9876


        Broker相关

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

# 查看broker状态
[root@node3 ~]# mqadmin brokerStatus -b node1:10911
[root@node3 ~]# mqadmin brokerStatus -n node1:9876 -b node2:10911
# 修改节点的配置,配置文件也会修改
[root@node3 ~]# mqadmin updateBrokerConfig -n node1:9876 -b node2:10911 -c
DefaultCluster -k brokerRole -v ASYNC_MASTER -k brokerId -v 0 -k brokerName
-v 'broker-c'
# 获取Broker配置
[root@node1 ~]# mqadmin getBrokerConfig -n node1:9876 -b node3:10911
# 清理Broker上不使用的Topic,从内存中释放Topic的Consume Queue,如果手动删除Topic会产
生不使用的Topic
[root@node1 ~]# mqadmin cleanUnusedTopic -n node1:9876 -b node1:10911 -c
DefaultCluster
# 向Broker发消息,返回发送状态和RT
[root@node3 ~]# mqadmin sendMsgStatus -n node1:9876 -b broker-b -s 128 -c 5



        消息相关

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

# 根据MsgKey查询消息,指定NameServer地址,指定主题名称,指定MsgKey
[root@node3 ~]# mqadmin queryMsgByKey -n node1:9876 -t tp_admin_01 -k 00100
# 根据UNIQ_KEY查询消息,指定NameServer地址,指定UNIQ_KEY,指定消费组名称,指定主题名
称 [r
oot@node3 ~]# mqadmin queryMsgByUniqueKey -n node1:9876 -i
C0A864672C8B277050DC5F8417BA0000 -g test_grp_console -t tp_admin_01
# 发送检查消息延迟,指定NameServer,指定主题,指定测试次数,指定消息大小,默认128KB
[root@node3 ~]# mqadmin checkMsgSendRT -n node1:9876 -t tp_admin_01 -a 5 -s
128
# 指定发送消息的大小,以测试延迟 1MB
[root@node3 ~]# mqadmin checkMsgSendRT -n node1:9876 -t tp_admin_01 -a 5 -s
1048576
# 消费消息,指定NameServer,指定主题,指定broker名称,指定MQ的id。
[root@node3 ~]# mqadmin consumeMessage -n node1:9876 -t tp_admin_01 -o 0 -b
broker-a -i 0
# 发送消息,指定主题,指定NameServer地址,指定消息体
[root@node3 ~]# mqadmin sendMessage -n node1:9876 -t tp_admin_01 -p 'hello
lagou console'
# 发送消息,指定主题,指定NameServer地址,指定消息体,指定keys,指定tags
[root@node3 ~]# mqadmin sendMessage -n node1:9876 -t tp_admin_01 -p 'hello
lagou console' -k '00100' -c 'test'
# 发送消息,指定NameServer,指定消息体,指定Broker,指定主题
[root@node3 ~]# mqadmin sendMessage -n node1:9876 -p 'hello lagou test 01'
-b broker-a -i 0 -t 'tp_admin_01'
# 查看偏移量,指定NameServer,指定主题
[root@node1 ~]# mqadmin topicStatus -n node1:9876 -t tp_admin_01
# 打印消息,指定NameServer地址,指定主题,指定标签过滤,指定是否打印消息体
[root@node3 ~]# mqadmin printMsg -n node1:9876 -t tp_admin_01 -s "*" -d
true

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值