文章目录
- 1.mqadmin命名的使用方式
- 2.Topic相关的命令参数
- 3.集群相关的命令参数
- 4.Broker相关的命令参数
- 5.消息相关命令参数
- 6.消费者、消费组相关命令参数
- 7.连接相关的命令参数
- 8.NameServer相关的命令参数
- 8.监控相关的命令参数
1.mqadmin命名的使用方式
RocketMQ提供有控制台及一系列控制台命令,用于管理员对主题、集群、broker 等信息的管理;
进入RockerMQ的安装路径,在bin目录中执行./mqadmin {command} {args}
,基本上所有的命令都需要添加`-n参数指定NameServer的地址才可以正常使用,所有的命令都可以通过-h获取命令帮助信息。
执行命令时如果使用`-b指定了Broker的地址,又使用-c指定了集群的名称,那么优先以Broker地址获取命令的结果,如果不指定Broker,默认会对集群中所有主机执行命令。
2.Topic相关的命令参数
updateTopic
:创建、更新Topic配置
-b
:指定Broker地址,表示topic所在Broker,只支持单台Broker,地址为ip:port
-c
:指定cluster名称,表示topic所在集群(集群可通过clusterList 查询)
-h
:打印帮助信息
-n
:指定NameServer的地址
-p
:指定新Topic的读写权限(W=2|R=4|WR=6)
-r
:可读对列数,默认为8
-w
:可写对列数,默认为8
-t
:指定topic名称,名称只能使用字符串1+$
deleteTopic
:删除Topic
-c
: 指定cluster名称,表示删除某集群下的某个topic (集群 可通过 clusterList 查询)
-h
:打印帮助信息
-n
:指定NameServer服务地址,格式ip:port
-t
:指定要删除的topic名称(名称只能使用字符 2+$ )
topicList
:查看Topic列表信息
-h
:打印帮助
-c
:不配置-c只返回topic列表,增加-c返回clusterName, topic, consumerGroup信息,即topic的所属集群和订阅关系,没有参数
-n
:指定NameServer服务地址,格式 ip:port
topicRoute
:查看 Topic 路由信息
-t
:指定topic名称
-h
:打印帮助
-n
:指定NameServer服务地址,格式ip:port
topicStatus
: 查看Topic消息队列offset
-t
:指定topic名称
-h
:打印帮助
-n
:指定NameServer服务地址,格式ip:port
topicClusterList
:查看Topic所在集群列表
-t
:指定topic名称
-h
:打印帮助
-n
:指定NameServer服务地址,格式ip:port
updateTopicPerm
:更新 Topic 读写权限
-t
:指定topic 名称
-h
:打印帮助
-n
:指定NameServer服务地址,格式ip:port
-b
:指定Broker地址,表示topic所在Broker,只支持单台Broker,地址为ip:port
-p
:指定新Topic的读写权限(W=2|R=4|WR=6)
-c
:指定Cluster名称,表示topic所在集群(集群可通过 clusterList 查询),-b优先,如果没有-b,则对集群中所有Broker执行命令
updateOrderConf
: 从NameServer上创建、删除、获取特定命名空间的kv配置,目前还未启用
-t
:topic,键
-h
:打印帮助
-n
:指定NameServer 服务地址,格式 ip:port
-v
:orderConf,值
-m
:method,可选get、put、delete
allocateMQ
: 以平均负载算法计算消费者列表负载消息队列的负载结果
-t
:指定topic名称
-h
:打印帮助
-n
:指定NameServer服务地址,格式ip:port
-i
:ipList,用逗号分隔,计算这些ip去负载Topic的消息队列
statsAll
:打印Topic订阅关系、TPS、积累量、24h读写总量等信息
-h
:打印帮助
-n
:指定NameServer服务地址,格式ip:port
-t
:指定topic 名称
-a
:是否只打印活跃topic
3.集群相关的命令参数
clusterList
: 查看集群信息,集群、BrokerName、BrokerId、TPS等信息
-m
:打印更多信息 (增加打印出如下信息 #InTotalYest, #OutTotalYest, #InTotalToday ,#OutTotalToday)
-h
:打印帮助
-n
:指定NameServer服务地址,格式 ip:port
-i
:打印间隔,单位秒
clusterRT
: 发送消息检测集群各Broker RT。消息发往${BrokerName} Topic。
-a
:amount,每次探测的总数,RT = 总时间 / amount
-s
:消息大小,单位B
-c
:探测哪个集群
-p
:是否打印格式化日志,以|分割,默认不打印
-h
:打印帮助
4.Broker相关的命令参数
updateBrokerConfig
:更新Broker配置文件,会修改Broker.conf
-b
:Broker地址,格式为ip:port
-c
:cluster名称
-k
:key 值
-v
:value 值
-h
:打印帮助
-n
:NameServer服务地址,格式 ip:port
brokerStatus
:查看 Broker 统计信息、运行状态(你想要的信息几乎都在里面)
-b
:Broker地址,格式为ip:port
-h
:打印帮助
-n
:指定NameServer服务地址,格式ip:port
brokerConsumeStats
:Broker中各个消费者的消费情况,按Message Queue维度返回Consume Offset,Broker Offset,Diff,TImestamp等信息
-b
:Broker 地址,格式为ip:port
-t
:请求超时时间
-l
:diff阈值,超过阈值才打印
-o
:是否为顺序topic,一般为false
-h
:打印帮助
-n
:指定NameServer服务地址,格式 ip:port
getBrokerConfig
:获取Broker配置
-b
:Broker地址,格式为ip:port
-n
:指定NameServer服务地址,格式ip:port
wipeWritePerm
:从NameServer上清除Broker写权限
-b
:Broker地址,格式为ip:port
-n
:指定NameServer服务地址,格式ip:port
-h
:打印帮助
cleanExpiredCQ
: 清理Broker上过期的Consume Queue,如果手动减少对列数可能产生过期队列
-n
:指定NameServer服务地址,格式ip:port
-h
:打印帮助
-b
:Broker地址,格式为ip:port
-c
:集群名称
cleanUnusedTopic
:清理Broker上不使用的Topic,从内存中释放Topic的Consume Queue,如果手动删除Topic会产生不使用的Topic
-n
:指定NameServer服务地址,格式ip:port
-h
:打印帮助
-b
:Broker地址,格式为ip:port
-c
:集群名称
sendMsgStatus
:向Broker发消息,返回发送状态和RT
-n
:指定NameServer服务地址,格式ip:port
-h
:打印帮助
-b
:BrokerName,注意不同于Broker地址
-s
:消息大小,单位B
-c
:发送次数
5.消息相关命令参数
queryMsgById
: 根据offsetMsgId查询msg,如果使用开源控制台,应使用offsetMsgId,此命令还有其他参数,具体作用请阅读QueryMsgByIdSubCommand。
-i
:msgId
-h
:打印帮助
-n
:NameServer 服务地址,格式 ip:port
queryMsgByKey
: 根据消息Key查询消息
-k
:msgKey
-t
:Topic名称
-h
:打印帮助
-n
:NameServer服务地址,格式ip:port
queryMsgByOffset
:根据Offset查询消息
-b
:Broker 名称,(这里需要注意 填写的是Broker的名称,不是Broker的地址,Broker名称可以在clusterList查到)
-i
:query队列id
-o
:offset 值
-t
:Topic名称
-h
:打印帮助
-n
:NameServer服务地址,格式ip:port
queryMsgByUniqueKey
:根据msgId查询,msgId不同于offsetMsgId,区别详见常见运维问题。`-g,-d配合使用,查到消息后尝试让特定的消费者消费消息并返回消费结果
-h
:打印帮助
-n
:NameServer服务地址,格式ip:port
-i
:uniqe msg id
-g
:consumerGroup
-d
:clientId
-t
:topic名称
checkMsgSendRT
: 检测向topic发消息的RT,功能类似clusterRT
-h
:打印帮助
-n
:NameServer服务地址,格式ip:port
-t
:topic名称
-a
:探测次数
-s
:消息大小
sendMessage
: 发送一条消息,可以根据配置发往特定Message Queue,或普通发送。
-h
:打印帮助
-n
:NameServer服务地址,格式ip:port
-t
:topic名称
-p
:body,消息体
-k
:keys
-c
:tags
-b
:BrokerName
-i
:queueId
consumeMessage
:消费消息。可以根据offset、开始&结束时间戳、消息队列消费消息,配置不同执行不同消费逻辑,详见ConsumeMessageCommand。
-h
:打印帮助
-n
:NameServer服务地址,格式ip:port
-t
:topic名称
-b
:BrokerName
-i
:queueId
-s
:开始时间戳,格式详见-h
-d
:结束时间戳
-c
: 消费多少条消息
printMsg
: 从Broker消费消息并打印,可选时间段
-h
:打印帮助
-n
:NameServer服务地址,格式ip:port
-t
:topic名称
-c
:字符集,例如UTF-8
-s
:subExpress,过滤表达式
-b
:开始时间戳,格式参见-h
-e
:结束时间戳
-d
:是否打印消息体
printMsgByQueue
:类似printMsg,但指定Message Queue
-h
:打印帮助
-n
:NameServer服务地址,格式ip:port
-t
:topic名称
-i
:queueId
-b
:BrokerName
-c
:字符集,例如UTF-8
-s
:subExpress,过滤表达式
-b
:开始时间戳,格式参见-h
-e
:结束时间戳
-d
:是否打印消息体
-f
:是否统计tag数量并打印
resetOffsetByTime
: 按时间戳重置offset,Broker和consumer都会重置
-h
:打印帮助
-n
:NameServer服务地址,格式ip:port
-g
:消费者分组
-t
:topic名称
-s
:重置为此时间戳对应的offset
-f
:是否强制重置,如果false,只支持回溯offset,如果true,不管时间戳对应offset与consumeOffset关系
-c
:是否重置c++客户端offset
6.消费者、消费组相关命令参数
consumerProgress
:查看订阅组消费状态,可以查看具体的client IP的消息积累量
-g
:消费者所属组名
-s
:是否打印client IP
-h
:打印帮助
-n
:NameServer 服务地址,格式 ip:port
consumerStatus
: 查看消费者状态,包括同一个分组中是否都是相同的订阅,分析Process Queue是否堆积,返回消费者jstack结果,内容较多,使用者参见ConsumerStatusSubCommand
-h
:打印帮助
-n
:NameServer 服务地址,格式 ip:port
-g
:consumer group
-i
:clientId
-s
:是否执行jstack
getConsumerStatus
:获取 Consumer 消费进度
-g
:消费者所属组名
-t
:查询主题
-i
:Consumer 客户端 ip
-n
:NameServer 服务地址,格式 ip:port
-h
:打印帮助
updateSubGroup
: 更新或创建订阅关系
-n
:NameServer 服务地址,格式 ip:port
-h
:打印帮助
-b
:BrokerName,注意不同于Broker地址
-c
:集群名称
-g
:消费者所属组名
-s
:分组是否允许消费
-m
:是否从最小offset开始消费
-d
:是否是广播模式
-q
:重试队列数量
-r
:最大重试次数
-i
:当slaveReadEnable开启时有效,且还未达到从slave消费时建议从哪个BrokerId消费,可以配置备机id,主动从备机消费
-w
:如果Broker建议从slave消费,配置决定从哪个slave消费,配置BrokerId,例如1
-a
:当消费者数量变化时是否通知其他消费者负载均衡
deleteSubGroup
:从Broker删除订阅关系
-n
:NameServer 服务地址,格式 ip:port
-h
:打印帮助
-b
:BrokerName,注意不同于Broker地址
-c
:集群名称
-g
:消费者所属组名
cloneGroupOffset
:在目标群组中使用源群组的offset
-n
:NameServer 服务地址,格式 ip:port
-h
:打印帮助
-s
:源消费者组
-d
: 目标消费者组
-t
:topic名称
-o
:暂未使用
7.连接相关的命令参数
consumerConnection
:查询 Consumer 的网络连接
-g
:消费者所属组名
-n
:NameServer 服务地址,格式 ip:port
-h
:打印帮助
producerConnec tion
:查询 Producer 的网络连接
-g
:消费者所属组名
-n
:NameServer 服务地址,格式 ip:port
-h
:打印帮助
-t
:topic名称
8.NameServer相关的命令参数
updateKvConfig
:更新NameServer的kv配置,目前还未使用
-s
:命名空间
-k
:key
-v
: value
-n
:NameServer 服务地址,格式 ip:port
-h
:打印帮助
deleteKvConfig
:删除NameServer的kv配置
-s
:命名空间
-k
:key
-n
:NameServer 服务地址,格式 ip:port
-h
:打印帮助
getNamesrvConfig
:获取NameServer配置
-n
:NameServer 服务地址,格式 ip:port
-h
:打印帮助
updateNamesrvConfig
:修改NameServer配置
-n
:NameServer 服务地址,格式 ip:port
-h
:打印帮助
-k
:key
-v
: value
8.监控相关的命令参数
startMonitoring
:开启监控进程,监控消息误删、重试队列消息数等
-n
:NameServer 服务地址,格式 ip:port
-h
:打印帮助
扩展:批量天机``符号的脚本
在-前面增加`
sed -ri 's/-/`-/' bb.txt在:前面加`
sed -ri 's/:/`:/' bb.txt以字母开头的加`
sed -ri 's/^r/`r/' bb.txt
sed -ri 's/^q/`q/' bb.txt
sed -ri 's/^w/`w/' bb.txt
sed -ri 's/^b/`b/' bb.txt
sed -ri 's/^a/`a/' bb.txt
sed -ri 's/^t/`t/' bb.txt
sed -ri 's/^s/`s/' bb.txt
sed -ri 's/^u/`u/' bb.txt
sed -ri 's/^g/`g/' bb.txt
sed -ri 's/^d/`d/' bb.txt
sed -ri 's/^c/`c/' bb.txt
sed -ri 's/^p/`p/' bb.txt
a-zA-Z0-9_- ↩︎
a-zA-Z0-9_- ↩︎