跳至主要内容
版本:5.0

管理工具

注意
  1. 要执行命令:./mqadmin {command} {args}
  2. 大多数命令需要使用 -n 标志配置 NameServer 地址,格式为 ip:port
  3. 大多数命令可以使用 -h 标志获取帮助
  4. 如果同时配置了 Broker 地址 (-b) 和 clusterName (-c),则命令将使用 Broker 地址执行。如果未配置 Broker 地址,则命令将在集群中的所有主机上执行。仅支持一个 Broker 地址,格式为 ip:port,其中端口默认值为 10911。
  5. tools 目录中,您可以看到许多命令,但并非所有命令都可以使用。只有在 MQAdminStartup 中初始化的命令才能使用。您也可以修改此类来添加或定义自己的命令。
  6. 某些命令可能由于版本更新而未更新,可能会导致错误。在这种情况下,请阅读相关的命令源代码。
与主题相关的参数
名称定义命令选项解释
updateTopic创建/更新主题配置-bBroker 地址,表示主题所在的 Broker。仅支持单个 Broker,地址格式为 ip:port。
-c集群名称,表示主题所在的集群(可以使用 clusterList 命令查询集群)。
-h打印帮助
-nNameServer 地址,格式为 ip:port
-p指定新主题的读写权限 (W=2|R=4|WR=6)
-r可读队列数量(默认值为 8)
-w可写队列数量(默认值为 8)
-t主题名称(名称只能使用 ^[a-zA-Z0-9_-]+$ 中的字符)
deleteTopic删除主题-c集群名称,表示要删除的特定集群下的特定主题(可以使用 clusterList 命令查询集群)。
-h打印帮助
-nNameServer 地址,格式为 ip:port
-t主题名称(名称只能使用 ^[a-zA-Z0-9_-]+$ 中的字符)
topicList查询主题列表信息-h打印帮助
-c没有 -c 标志,只返回主题列表。添加 -c 将返回 clusterName、topic 和 consumerGroup 信息,即主题所属的集群和订阅关系。没有参数。
-nNameServer 地址,格式为 ip:port
topicRoute查询主题路由信息-t主题名称
-h打印帮助
-nNameServer 地址,格式为 ip:port
topicStatus查询主题消息队列偏移量-t主题名称
-h打印帮助
-nNameServer 地址,格式为 ip:port
topicClusterList查询主题所在的集群列表-t主题名称
-h打印帮助
-nNameServer 地址,格式为 ip:port
updateTopicPerm更新主题读写权限-t主题名称
-h打印帮助
-nNameServer 地址,格式为 ip:port
-bBroker 地址,表示主题所在的 Broker。仅支持单个 Broker,地址格式为 ip:port。
-p指定新主题的读写权限 (W=2|R=4|WR=6)
-c集群名称,表示主题所在的集群(可以使用 clusterList 命令查询集群)。-b 标志优先。如果没有 -b 标志,命令将在集群中的所有 Broker 上执行。
updateOrderConf从 NameServer 创建、删除和获取特定 kv 配置。此功能目前不可用。-h打印帮助
-nNameServer 地址,格式为 ip:port
-ttopic,key
-vorderConf,value
-mmethod,可选 get、put、delete
allocateMQ使用平均负载算法计算消费者列表的消息队列负载结果。-t主题名称
-h打印帮助
-nNameServer 地址,格式为 ip:port
-iipList,用逗号分隔,计算这些 IP 对主题的消息队列负载。
statsAll打印有关主题的订阅、TPS、累积、24 小时总读写量等信息。-h打印帮助
-nNameServer 地址,格式为 ip:port
-a仅打印活动主题
-t指定主题
与集群相关的参数
名称定义命令选项解释
clusterList查询集群信息,包括集群、BrokerName、BrokerId、TPS 等信息。-m打印更多信息(打印的附加信息包括:#InTotalYest,#OutTotalYest,#InTotalToday,#OutTotalToday)
-h打印帮助
-nNameServer 地址,格式为 ip:port
-i打印间隔,以秒为单位。
clusterRT发送消息以测试集群中每个 Broker 的 RT。消息将发送到${BrokerName}主题。-aamount,每次探测的总数。RT = 总时间 / amount
-s消息大小,单位:B
-c要探测的集群
-p是否打印格式化的日志,用 | 分隔,默认不打印。
-h打印帮助
-m所属数据中心,用于打印目的。
-i发送间隔,以秒为单位。
-nNameServer 地址,格式为 ip:port
与 Broker 相关的参数
名称定义命令选项解释
queryMsgById根据 offsetMsgId 查询消息。如果使用开源控制台,则应使用 offsetMsgId。此命令有其他参数,有关其功能的更多信息,请阅读 QueryMsgByIdSubCommand。-imsgId
-h打印帮助
-nNameServer 地址,格式为 ip:port
queryMsgByKey根据消息键查询消息。-kmsgKey
-t主题名称
-h打印帮助
-nNameServer 地址,格式为 ip:port
queryMsgByOffset根据偏移量查询消息。-bBroker 名称(注意,这里应该输入 Broker 的名称,而不是地址。可以使用 clusterList 命令找到 Broker 名称)。
-i查询队列 ID
-o偏移量值
-t主题名称
-h打印帮助
-nNameServer 地址,格式为 ip:port
queryMsgByUniqueKey根据 msgId 查询。msgId 与 offsetMsgId 不同,有关更多信息,请参阅常见操作问题。-g 和 -d 结合使用,找到消息后,尝试让特定消费者消费消息并返回消费结果。-h打印帮助
-nNameServer 地址,格式为 ip:port
-i唯一的 msg id
-gconsumerGroup
-dclientId
-t主题名称
checkMsgSendRT检查将消息发送到主题的 RT。该功能类似于 clusterRT。-h打印帮助
-n NameServer 地址,格式为 ip:port
-t主题名称
-a探测次数
-s消息大小
sendMessage发送消息,可以根据配置发送到特定消息队列,也可以正常发送。-h打印帮助
-nNameServer 地址,格式为 ip:port
-t主题名称
-p消息体
-kkeys
-ctags
-bBrokerName
-iqueueId
consumeMessage消费消息。可以根据偏移量、开始和结束时间戳以及消息队列消费消息。不同的配置将执行不同的消费逻辑,有关更多信息,请参阅 ConsumeMessageCommand。-h打印帮助
-nNameServer 地址,格式为 ip:port
-t主题名称
-bBrokerName
-o从偏移量消费
-iqueueId
-g消费者组
-s开始时间戳,请参阅 -h 获取格式。
-d结束时间戳
-c消费一定数量的消息
printMsg从 Broker 消费消息并打印它们,可选时间段。-h打印帮助
-nNameServer 地址,格式为 ip:port
-t主题名称
-c字符集,例如 UTF-8
-ssubExpress,过滤表达式
-b开始时间戳,请参阅 -h 获取格式。
-e结束时间戳
-d是否打印消息体。
printMsgByQueue类似于 printMsg,但针对特定消息队列。-h打印帮助
-nNameServer 地址,格式为 ip:port
-t主题名称
-iqueueId
-aBrokerName
-c字符集,例如 UTF-8
-ssubExpress,过滤表达式
-b开始时间戳,请参阅 -h 获取格式。
-e结束时间戳
-p是否打印消息体。
-d是否打印消息体。
-f是否统计和打印标签数量
resetOffsetByTime根据时间戳重置偏移量,Broker 和消费者都将重置。-h打印帮助
-nNameServer 地址,格式为 ip:port
-g消费者组
-t主题名称
-s重置到与该时间戳对应的偏移量。
-f是否强制重置。如果为 false,则仅支持向后偏移量。如果为 true,则忽略时间戳对应偏移量和 consumeOffset 之间的关系。
-c是否重置 C++ 客户端的偏移量。
与消息相关的参数
名称定义命令选项解释
queryMsgById要根据其偏移量消息 ID (offsetMsgId) 查询消息,如果使用开源控制台,则可以使用 offsetMsgId 命令。此命令有其他参数,有关其功能的更多信息,请阅读 QueryMsgByIdSubCommand。-imsgId
-h打印帮助
-nNameServer 地址,格式为 ip:port
queryMsgByKey根据键查询消息。-kmsgKey
-t主题名称
-h打印帮助
-nNameServer 地址,格式为 ip:port
queryMsgByOffset根据偏移量查询消息-bBroker 名称(注意,这应该是 Broker 的名称,而不是地址。可以使用 clusterList 找到 Broker 的名称。)
-i查询队列 ID
-o偏移量值
-t主题名称
-h打印帮助
-nNameServer 地址,格式为 ip:port
queryMsgByUniqueKey根据 msgId 查询。请注意,msgId 与 offsetMsgId 不同。有关更多信息,请参阅常见操作和维护问题。将 -g 和 -d 结合使用,尝试让特定消费者消费消息,并在找到消息后返回消费结果。-h打印帮助
-nNameServer 地址,格式为 ip:port
-i唯一的 msg id
-gconsumerGroup
-dclientId
-t主题名称
checkMsgSendRT检查将消息发送到主题的 RT(往返时间)。该功能类似于 clusterRT。-h打印帮助
-n NameServer 地址,格式为 ip:port
-t主题名称
-a探测次数。
-s消息大小
sendMessage发送消息,可以根据配置发送到特定消息队列,也可以正常发送。-h打印帮助
-nNameServer 地址,格式为 ip:port
-t主题名称
-pbody,消息体
-kkeys
-ctags
-bBrokerName
-iqueueId
consumeMessage消费消息。可以根据偏移量、开始和结束时间戳以及消息队列消费消息。不同的配置将执行不同的消费逻辑。有关更多信息,请参阅 ConsumeMessageCommand。-h打印帮助
-nNameServer 地址,格式为 ip:port
-t主题名称
-bBrokerName
-o从指定偏移量消费。
-iqueueId
-g消费者组
-s开始时间戳,请参阅 -h 获取格式。
-d结束时间戳
-c消费指定数量的消息。
printMsg从 Broker 消费消息并在指定时间段内打印它们。-h打印帮助
-nNameServer 地址,格式为 ip:port
-t主题名称
-c字符集,例如 UTF-8
-ssubExpress,过滤表达式
-b开始时间戳,请参阅 -h 获取格式。
-e结束时间戳
-d是否打印消息体
printMsgByQueue类似于 printMsg,但指定消息队列。-h打印帮助
-nNameServer 地址,格式为 ip:port
-t主题名称
-iqueueId
-aBrokerName
-c字符集,例如 UTF-8
-ssubExpress,过滤表达式
-b开始时间戳,请参阅 -h 获取格式。
-e结束时间戳
-p是否打印消息
-d是否打印消息体
-f是否统计和打印标签数量
resetOffsetByTime根据时间戳重置偏移量将重置 Broker 和消费者。-h打印帮助
-nNameServer 地址,格式为 ip:port
-g消费者组
-t主题名称
-s重置到与该时间戳对应的偏移量。
-f是否强制重置。如果为 false,则仅支持向后偏移量。如果为 true,则忽略时间戳对应偏移量和 consumeOffset 之间的关系。
-c是否重置 C++ 客户端的偏移量。
与消费相关的参数
名称定义命令选项解释
consumerProgress消费者组消费状态,包括特定客户端 IP 的消息累积。-g消费者组名称
-s是否打印客户端 IP。
-h打印帮助
-nNameServer 地址,格式为 ip:port
consumerStatus消费者状态指的是消费者的状态,包括同一组中所有消费者是否具有相同的订阅,Process Queue 是否堆积,以及消费者的 jstack 结果。此命令返回的信息非常广泛,用户应参考 ConsumerStatusSubCommand 获取更多详细信息。-h打印帮助
-nNameServer 地址,格式为 ip:port
-g消费者组
-iclientId
-s是否执行 jstack
getConsumerStatus获取消费者消费进度-g消费者组名称
-t查询主题
-i消费者客户端 IP
-nNameServer 地址,格式为 ip:port
-h打印帮助
updateSubGroup更新或创建订阅关系。-nNameServer 地址,格式为 ip:port
-h打印帮助
-bBroker 地址
-c集群名称
-g消费者组名称
-s该组是否允许消费
-m是否从最小偏移量开始消费。
-d是否是广播模式。
-q重试队列数量。
-r最大重试次数
-i当 slaveReadEnable 打开且尚未达到建议从 slave 消费的点时,可以配置备机 ID 以主动从备机消费。
-w如果 Broker 建议从 slave 消费,则配置决定从哪个 slave 消费。BrokerId 可以配置,例如 1。
-a消费者数量发生变化时,是否通知其他消费者进行负载均衡。
deleteSubGroup从 Broker 中删除订阅。-nNameServer 地址,格式为 ip:port
-h打印帮助
-bBroker 地址
-c集群名称
-g消费者组名称
cloneGroupOffset在目标消费者组中使用源消费者组的偏移量。-nNameServer 地址,格式为 ip:port
-h打印帮助
-s源消费者组
-d目标消费者组
-ttopicname
-o目前未使用。
连接相关参数
名称定义命令选项解释
consumerConnec tion查询消费者网络连接。-g消费者组名称。
-nNameServer 地址,格式为 ip:port
-h打印帮助
producerConnec tion查询生产者网络连接。-g生产者组名称。
-t主题名称
-nNameServer 地址,格式为 ip:port
-h打印帮助
连接相关参数
名称定义命令选项解释
updateKvConfig更新 NameServer KV 配置,目前未使用。-s命名空间
-k
-v
-nNameServer 地址,格式为 ip:port
-h打印帮助
deleteKvConfig删除 NameServer KV 配置。-s命名空间
-k
-nNameServer 地址,格式为 ip:port
-h打印帮助
getNamesrvConfig获取 NameServer 配置。-nNameServer 地址,格式为 ip:port
-h打印帮助
updateNamesrvConfig修改 NameServer 配置。-nNameServer 地址,格式为 ip:port
-h打印帮助
-k
-v

其他

连接相关参数
名称定义命令选项解释
startMonitoring启动监控进程,监控消息删除错误、重试队列消息数量等事件。-nNameServer 地址,格式为 ip:port
-h打印帮助