mqadmin命令的使用
F:\rocketmq-all-4.9.7-bin-release\bin>mqadmin
The most commonly used mqadmin commands are:
updateTopic Update or create topic
deleteTopic Delete topic from broker and NameServer.
updateSubGroup Update or create subscription group
deleteSubGroup Delete subscription group from broker.
updateBrokerConfig Update broker’s config
updateTopicPerm Update topic perm
topicRoute Examine topic route info
topicStatus Examine topic Status info
topicClusterList get cluster info for topic
brokerStatus Fetch broker runtime status data
queryMsgById Query Message by Id
queryMsgByKey Query Message by Key
queryMsgByUniqueKey Query Message by Unique key
queryMsgByOffset Query Message by offset
queryMsgTraceById query a message trace
printMsg Print Message Detail
printMsgByQueue Print Message Detail
sendMsgStatus send msg to broker.
brokerConsumeStats Fetch broker consume stats data
producerConnection Query producer’s socket connection and client version
consumerConnection Query consumer’s socket connection, client version and subscription
consumerProgress Query consumers’s progress, speed
consumerStatus Query consumer’s internal data structure
cloneGroupOffset clone offset from other group.
producer Query producer’s instances, connection, status, etc.
clusterList List all of clusters
topicList Fetch all topic list from name server
updateKvConfig Create or update KV config.
deleteKvConfig Delete KV config.
wipeWritePerm Wipe write perm of broker in all name server you defined in the -n param
addWritePerm Add write perm of broker in all name server you defined in the -n param
resetOffsetByTime Reset consumer offset by timestamp(without client restart).
skipAccumulatedMessage Skip all messages that are accumulated (not consumed) currently
updateOrderConf Create or update or delete order conf
cleanExpiredCQ Clean expired ConsumeQueue on broker.
deleteExpiredCommitLog Delete expired CommitLog files
cleanUnusedTopic Clean unused topic on broker.
startMonitoring Start Monitoring
statsAll Topic and Consumer tps stats
allocateMQ Allocate MQ
checkMsgSendRT check message send response time
clusterRT List All clusters Message Send RT
getNamesrvConfig Get configs of name server.
updateNamesrvConfig Update configs of name server.
getBrokerConfig Get broker config by cluster or special broker!
getConsumerConfig Get consumer config by subscription group name!
queryCq Query cq command.
sendMessage Send a message
consumeMessage Consume message
updateAclConfig Update acl config yaml file in broker
deleteAclConfig Delete Acl Config Account in broker
clusterAclConfigVersion List all of acl config version information in cluster
updateGlobalWhiteAddr Update global white address for acl Config File in broker
getAclConfig List all of acl config information in cluster
exportMetadata export metadata
exportConfigs export configs
exportMetrics export metrics
See ‘mqadmin help ’ for more information on a specific command.
以下是关于 RocketMQ 中 mqadmin
命令的各种参数及其含义。RocketMQ 是阿里巴巴开源的一款分布式消息中间件。mqadmin
是 RocketMQ 提供的一个命令行工具,可以用于管理和操作 RocketMQ 集群。以下是一些常用命令的解释:
updateTopic
: 更新或创建主题。deleteTopic
: 从 broker 和 NameServer 删除主题。updateSubGroup
: 更新或创建订阅组。deleteSubGroup
: 从 broker 删除订阅组。updateBrokerConfig
: 更新 broker 的配置。updateTopicPerm
: 更新主题权限。topicRoute
: 检查主题路由信息。topicStatus
: 检查主题状态信息。topicClusterList
: 获取主题的集群信息。brokerStatus
: 获取 broker 运行时状态数据。queryMsgById
: 根据 ID 查询消息。queryMsgByKey
: 根据 Key 查询消息。queryMsgByUniqueKey
: 根据唯一键查询消息。queryMsgByOffset
: 根据偏移量查询消息。queryMsgTraceById
: 根据 ID 查询消息追踪。printMsg
: 打印消息详情。printMsgByQueue
: 根据队列打印消息详情。sendMsgStatus
: 发送消息到 broker。brokerConsumeStats
: 获取 broker 消费状态数据。producerConnection
: 查询生产者的 socket 连接和客户端版本。consumerConnection
: 查询消费者的 socket 连接、客户端版本和订阅。consumerProgress
: 查询消费者的进度、速度。consumerStatus
: 查询消费者的内部数据结构。cloneGroupOffset
: 从其他组克隆 offset。producer
: 查询生产者的实例、连接、状态等。clusterList
: 列出所有集群。topicList
: 从 name server 获取所有主题列表。updateKvConfig
: 创建或更新 KV 配置。deleteKvConfig
: 删除 KV 配置。wipeWritePerm
: 清除在-n
参数中定义的所有 name server 中 broker 的写权限。addWritePerm
: 在-n
参数中定义的所有 name server 中添加 broker 的写权限。resetOffsetByTime
: 通过时间戳重置消费者 offset(无需客户端重启)。skipAccumulatedMessage
: 跳过当前积累的(未消费的)所有消息。updateOrderConf
: 创建、更新或删除 order conf。cleanExpiredCQ
: 在 broker 上清理过期的 ConsumeQueue。deleteExpiredCommitLog
: 删除过期的 CommitLog 文件。cleanUnusedTopic
: 在 broker 上清理未使用的主题。startMonitoring
: 开始监控。statsAll
: 主题和消费者的 TPS 统计。allocateMQ
: 分配消息队列。checkMsgSendRT
: 检查消息发送响应时间。clusterRT
: 列出所有集群的消息发送响应时间。getNamesrvConfig
: 获取名字服务器的配置。updateNamesrvConfig
: 更新名字服务器的配置。getBrokerConfig
: 根据集群或特定的 broker 获取 broker 配置。getConsumerConfig
: 通过订阅组名称获取消费者配置!queryCq
: 查询 cq 命令。sendMessage
: 发送消息。consumeMessage
: 消费消息。updateAclConfig
: 更新 broker 中的 acl 配置 yaml 文件。deleteAclConfig
: 在 broker 中删除 Acl 配置账户。clusterAclConfigVersion
: 在集群中列出所有的 acl 配置版本信息。updateGlobalWhiteAddr
: 在 broker 中更新全局白名单地址以供 acl 配置文件使用。getAclConfig
: 在集群中列出所有的 acl 配置信息。exportMetadata
: 导出元数据。exportConfigs
: 导出配置。exportMetrics
: 导出指标。
如果你需要关于特定命令的更多信息,你可以使用 'mqadmin help <command>'
命令来获取。例如,如果你想知道 updateTopic
命令的更多信息,你可以运行 'mqadmin help updateTopic'
。
这是 mqadmin updateTopic
命令的帮助信息,这个命令用于更新或创建 RocketMQ 的主题。以下是参数的含义:
-b,--brokerAddr <arg>
: 创建主题的 broker 地址。-c,--clusterName <arg>
: 创建主题的集群名称。-h,--help
: 打印帮助信息。-n,--namesrvAddr <arg>
: Name server 地址列表,例如:‘192.168.0.1:9876;192.168.0.2:9876’。-o,--order <arg>
: 设置主题的顺序 (true|false)。-p,--perm <arg>
: 设置主题的权限 (2|4|6),其中2代表写权限,4代表读权限,6代表读写权限。-r,--readQueueNums <arg>
: 设置读取队列数。-s,--hasUnitSub <arg>
: 是否有单元订阅 (true|false)。-t,--topic <arg>
: 主题名称。-u,--unit <arg>
: 是否是单元主题 (true|false)。-w,--writeQueueNums <arg>
: 设置写入队列数。
总的来说,这个命令的主要作用就是允许你创建或者更新 RocketMQ 中的主题,通过调整各种参数来调整主题的特性和性能。
mqadmin topicStatus
是一个命令行工具,用于检查指定主题的状态信息。以下是每个参数的详细说明:
-h,--help
: 打印帮助信息。-n,--namesrvAddr <arg>
: Name server 地址列表,例如:‘192.168.0.1:9876;192.168.0.2:9876’。-t,--topic <arg>
: 主题名称,即你想要查询状态的主题。
例如,如果你想查询名为 “testTopic” 的主题的状态,你可以运行如下命令:
mqadmin topicStatus -n '192.168.0.1:9876' -t 'testTopic'
这将返回 “testTopic” 主题在 '192.168.0.1:9876'
这个 name server 上的状态信息。
mqadmin topicStatus
命令会返回指定主题的状态信息,包括但不限于以下数据:
- 主题的队列分布情况。
- 每个队列的消息积累情况。
- 生产者和消费者的相关信息,例如:消费进度、是否存在消费延迟等。
具体的返回内容可能会因 RocketMQ 的版本和具体配置有所不同。如果想要获取具体的返回内容,你需要在具体的 RocketMQ 环境中执行该命令。
请注意,实际的返回信息可能会比较复杂,并且可能需要一定的 RocketMQ 知识才能正确解读。如果你在解读返回信息时遇到困难,我建议查阅 RocketMQ 的官方文档或者寻求社区的帮助。
在RocketMQ中,mqadmin
命令行工具提供了获取消息堆积量的功能。你可以使用consumerProgress
命令来获取消息堆积量。以下是具体的命令:
mqadmin consumerProgress -n {namesrvAddr} -g {consumerGroup}
在这个命令中:
{namesrvAddr}
是你的NameServer地址,格式为{hostname}:{port}
。{consumerGroup}
是你想要查询的消费者组的名称。
这个命令会返回你指定的消费者组的消费进度,其中包括消费者组当前消费的队列、消费者组当前的消费偏移量以及队列的最新偏移量。消息堆积量可以通过最新偏移量减去消费偏移量得到。
请注意,你需要在运行mqadmin
命令的机器上设置ROCKETMQ_HOME
环境变量,并确保这个环境变量指向你的RocketMQ安装目录。同时,你需要将$ROCKETMQ_HOME/bin
添加到你的PATH
环境变量中,以便系统能找到mqadmin
命令。
RocketMQ的mqadmin
工具并不直接提供获取消息处理延迟时间的功能。消息处理延迟时间通常指的是消息从发送到被成功消费的时间。由于这个时间取决于多个因素,包括网络延迟、消费者处理速度等,因此RocketMQ并没有提供直接获取这个时间的接口。
然而,你可以使用mqadmin
工具的statsAll
命令来获取一些和消息处理延迟相关的统计信息,包括消息发送和消费的TPS(每秒事务数)、消息的发送和消费的延迟等。以下是具体的命令:
mqadmin statsAll -n {namesrvAddr}
在这个命令中,{namesrvAddr}
是你的NameServer地址,格式为{hostname}:{port}
。
这个命令会返回Broker、Topic以及Consumer Group的统计信息。你可以从这些信息中获取消息的发送和消费的TPS,以及消息的发送和消费的平均延迟。请注意,这个命令返回的延迟是从消息发送到消息存储的延迟,而不是消息处理的延迟。
要获取消息处理的延迟,你可能需要在你的应用程序中自己记录消息发送和消费的时间,然后计算出消息处理的延迟。例如,你可以在消息中添加一个时间戳字段来记录消息的发送时间,然后在消费消息时获取当前时间并减去消息的发送时间,得到消息处理的延迟。