mq运维操作

作者: lockdreamer | 来源:发表于2019-01-12 17:29 被阅读17次

常用维护操作---详细命令

RocketMQ提供有控制台及一系列控制台命令,用于管理员对主题,集群,broker等信息的管理;

登录控制台:

首先进入RocketMQ工程,进入/RocketMQ/bin,在该目录下有个mqadmin脚本

查看帮助:

在mqadmin下可以查看有哪些命令

sh mqadmin

查看具体命令的使用

sh mqadmin help 命令名称

例如,查看updateTopic的使用

sh mqadmin help updateTopic

1.创建topic

指令:updateTopic

类路径:com.alibaba.rocketmq.tools.command.topic.UpdateTopicSubCommand

参数是否必填说明

-b,表示topic建在该broker

-c,表示topic建在该集群(集群可通过clusterList查询)

-n,是nameserve服务地址列表,格式ip:port;ip:port;...

-t,topic名称(名称只能使用字符 ^[a-zA-Z0-9_-]+$ )

举例:在集群DefaultCluster上创建主题ZBPTxample,nameserve地址为10.45.47.168:9876

sh mqadmin updateTopic –n 10.45.47.168 –c DefaultCluster  –t ZBPTxample

2.删除Topic

指令:deleteTopic

类路径:com.alibaba.rocketmq.tools.command.topic.DeleteTopicSubCommand

参数是否必填说明

-c,是cluster名称,表示删除某集群下的某个topic (集群可通过clusterList查询)

-n,是nameserve服务地址列表,格式ip:port;ip:port;…

-t,是topic名称(名称只能使用字符 ^[a-zA-Z0-9_-]+$ )

举例:在集群DefaultCluster上删除主题ZBPTxample,nameserve地址为10.45.47.168:9876

sh mqadmin deleteTopic –n 10.45.47.168:9876 –c DefaultCluster –t ZBPTxample

3.删除Topic

指令:updateSubGroup

类路径:com.alibaba.rocketmq.tools.command.consumer.UpdateSubGroupSubCommand

参数是否必填说明

-b,表示订阅组建在该broker

-c,表示topic建在该集群(集群可通过clusterList查询

-n,是nameserve服务地址列表,格式ip:port;ip:port;...

举例:在集群DefaultCluster上创建消费组ZBPTxampleGROUP,nameserve地址为10.45.47.168:9876

sh mqadmin updateSubGroup  –n 10.45.47.168:9876  –c DefaultCluster –t ZBPTxampleGROUP

4.删除订阅组配置

指令:deleteSubGroup

类路径:com.alibaba.rocketmq.tools.command.consumer.DeleteSubscriptionGroupCommand

举例:在集群DefaultCluster上删除消费组ZBPTxampleGROUP,nameserve地址为10.45.47.168:9876

sh mqadmin deleteSubGroup –n 10.45.47.168:9876 –c DefaultCluster –t ZBPTxampleGROUP

5.更新Broker配置文件

指令:updateBrokerConfig

举例在集群DefaultCluster上修改延时级别,nameserve地址为10.45.47.168:9876

sh mqadmin updateBrokerConfig  -n

10.45.47.168:9876 -c DefaultCluster -k messageDelayLevel -v 1s 5s 10s

30s 1m 2m 3m 4m 5m 6m 7m 8m 9m 10m 20m 30m 45m 1h 2h 6h

6.查看Topic列表信息

指令:topicList

举例:nameserve地址为10.45.47.168:9876

sh mqadmin topicList –n 10.45.47.168:9876

打印内容:

BenchmarkTest

%RETRY%simple-consumer-test

SELF_TEST_TOPIC

ZBPTxample

注释:上述头三个主题是RocketMQ默认预先创建

7.查看Topic路由信息

指令:topicRoute

举例:查看主题ZBPTxample的路由,nameserve地址为10.45.47.168:9876

sh mqadmin topicRoute –n 10.45.47.168:9876 –t ZBPTxample_Crm

打印内容:

{

"brokerDatas":[{

"brokerAddrs":{0:"10.45.47.168:10911"

},

"brokerName":"crmdb"

}],

"queueDatas":[{

"brokerName":"crmdb",

"perm":6,

"readQueueNums":8,

"writeQueueNums":8

}]

}

8.查看Topic统计信息

指令:topicStatus

举例:查看主题ZBPTxample的统计信息,nameserve地址为10.45.47.168:9876

sh mqadmin topicStats –n 10.45.47.168:9876 –t ZBPTxample

打印内容:(统计信息里包括有offset、最后更新时间)

#Broker Name#QID#Min Offset#Max Offset#Last Updated

crmdb 0012014-02-10 11:37:44,977

crmdb100

crmdb200

crmdb300

crmdb400

crmdb500

crmdb600

crmdb700

9.查看Broker统计信息

举例:查看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

10.根据消息ID查询消息

指令:queryMsgById

举例:查询msgId= 0A2D2FA800002A9F0000000000000000的消息,nameserve地址为10.45.47.168:9876

sh mqadmin queryMsgById –n 10.45.47.168:9876 –i 0A2D2FA800002A9F0000000000000000

11.根据消息ID查询消息

指令:queryMsgByKey

举例:查询Topic= ZBPTxample下key= SimpleTest-1的消息,nameserve地址为10.45.47.168:9876

sh mqadmin queryMsgByKey -n 10.45.47.168:9876 -t ZBPTxample -k SimpleTest-1

打印内容:

#Message ID                                        #QID  #Offset

0A2D2FA800002A9F0000000000000000                  0    0

12.根据Offset查询消息

指令:queryMsgByOffset

举例:查询brokerName=crm-168,Topic= ZBPTxample的第1个队列下offset=0的消息,nameserve地址为10.45.47.168:9876

sh mqadmin queryMsgByOffset -n 10.45.47.168:9876 -b crm-168 -i 0 -t ZBPTxample -o 0

打印内容:

Topic:              ZBPTxample

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

13.查询Producer的网络连接

该命令只打印当前与cluster连接的producer网络连接信息

指令:producerConnection

举例:查询当前属于group(生产者组)=simple-producer-test的生产者到topic=ZBPTxample的网络连接,nameserve地址为10.45.47.168:9876

sh mqadmin producerConnection -n 10.45.47.168:9876 -g simple-producer-test -t ZBPTxample

打印内容:

0001 10.45.46.229@simple-producer-test-99f09de2a20a4b6284bb949b452bee0c 10.45.46.229:4332  JAVA  V3_0_7

14.查询Consumer的网络连接

举例:查询当前属于group(消费者组)=simple-consumer-test的消费者的网络连接,nameserve地址为10.45.47.168:9876

sh mqadmin consumerConnection -n 10.45.47.168:9876 -g simple-consumer-test

15.查看订阅组消费状态

指令:consumerProgress

举例:查询当前属于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

ZBPTxamplecrm-1680220

ZBPTxamplecrm-1681000

ZBPTxamplecrm-1682000

ZBPTxamplecrm-1683000

ZBPTxamplecrm-1684000

ZBPTxamplecrm-1685000

ZBPTxamplecrm-1686000

ZBPTxamplecrm-1687000

Consume TPS: 0

Diff Total: 0

16.查看集群消息

指令:clusterList

举例:查询当前集群状态,nameserve地址为10.45.47.168:9876

sh mqadmin clusterList -n 10.45.47.168:9876

打印内容:

#Cluster Name#Broker Name#BID#Addr#Version#InTPS#OutTPS

CRMcrm-168010.45.47.168:10911V3_0_70.000.00

CRMcrm-181010.45.47.181:10911V3_0_70.000.00

sh mqadmin clusterList -n 10.45.47.168:9876 –m

#Cluster Name#Broker Name#InTotalYest#OutTotalYest#InTotalToday#OutTotalToday

CRMcrm-1680023

CRMcrm-1810000

17.添加(更新)KV配置信息

指令:updateKvConfig

举例:在上nameserver上修改KV配置,nameserve地址为10.45.47.168:9876

sh mqadmin updateKvConfig -n

10.45.47.168:9876 -k messageDelayLevel -v 1s 5s 10s 30s 1m 2m 3m 4m 5m

6m 7m 8m 9m 10m 20m 30m 45m 1h 2h 6h

18.删除KV配置信息

指令:deleteKvConfig

举例:在上nameserver上修改KV配置,nameserve地址为10.45.47.168:9876

sh mqadmin deleteKvConfig  -n 10.45.47.168:9876 -k messageDelayLevel

19.获取Consumer消费进度

该命令只打印当前与cluster连接的consumer的消费进度

指令:getConsumerStatus

举例:查询属于group(消费者组)=simple-consumer-test的消费者在Topic=ZBPTxample上的消费状态,nameserve地址为10.45.47.168:9876

sh mqadmin getConsumerStatus -n 10.45.47.168:9876 -g simple-consumer-test -t ZBPTxampleget consumer status from client. group=simple-consumer-test, topic=ZBPTxample, originClientId=

#clientId#brokerName#queueId#offset

10.45.46.229@simple-consumer-test-3f89fb692e874640crm-16840

10.45.46.229@simple-consumer-test-3f89fb692e874640crm-16802

10.45.46.229@simple-consumer-test-3f89fb692e874640crm-16830

10.45.46.229@simple-consumer-test-3f89fb692e874640crm-16810

10.45.46.229@simple-consumer-test-3f89fb692e874640crm-16850

10.45.46.229@simple-consumer-test-3f89fb692e874640crm-16860

10.45.46.229@simple-consumer-test-3f89fb692e874640crm-16870

10.45.46.229@simple-consumer-test-3f89fb692e874640crm-16820

注意事项

在broker配置文件中有自动开启自动创建topic和consumer这两个选项,在测试环境建议设置问true在生产环境建议关闭设置为false。

autoCreateTopicEnable=true

autoCreateSubscriptionGroup=true

说明:尤其注意双主模式下两个broker名字不能相同。

高危操作

未经评审删除topic或者consumer,删除store或者制空store目录下的文件。

相关文章

  • mq运维操作

    常用维护操作---详细命令 RocketMQ提供有控制台及一系列控制台命令,用于管理员对主题,集群,broker等...

  • 也谈运维

    运维分三个层次:设备运维、架构运维和业务运维。设备运维是指维护操作系统和网络环境,例如保持系统更新;架构运维是指维...

  • 运维人员须熟悉的38个运维工具汇总

    运维人员必须熟悉的运维工具汇总: 操作系统:Centos,※,Ubuntu,Redhat※,,suse,Freeb...

  • 场景运维编排

    场景运维编排可对场景化运维进行增加、删除、修改、筛选、执行场景等操作。 1.新增 点击 按钮,即可新增运维场景,可...

  • Windows运维操作

    共享文件夹 进共享盘出错问题解决-0x80004005重点是启动TCP/IP NetBIOSHelper服务 ne...

  • 智能运维工作台

    智能运维工作台主要是对运维行为的管理,可以查看资产IP、操作者、登陆的IP地址、登陆的时间、退出的时间、状态、操作...

  • 【Linux】操作系统

    参考资料:1.视频课程《Linux运维》2.书籍PDF版《Linux运维 Web集群实战》 什么是操作系统?Ope...

  • Oracle 日常运维操作

    Oracle 日常运维操作 备份 每台 Oracle 机器都已配置了每天凌晨 03:03 开始自动做备份。 开发童...

  • Linux运维基本操作

    系统基本操作 系统重启 shutdown -Fr now 映射网盘 Linux挂载Windows共享文件夹 mou...

  • GitLab基本运维操作

    安装完gitlab后的运维操作 初次配置服务 启动服务 停止服务 重启服务 检查服务的日志信息 检查redis的日...

网友评论

    本文标题:mq运维操作

    本文链接:https://www.haomeiwen.com/subject/piatdqtx.html