1. 初识mqadmin:运维工程师的第一把钥匙
第一次接触RocketMQ的运维工作时,我被那一大堆管理命令整得头晕眼花。直到发现了藏在bin目录下的mqadmin工具,就像在迷宫里找到了指南针。这个命令行工具是RocketMQ官方提供的"瑞士军刀",能完成80%的日常运维工作。
记得第一次执行sh mqadmin时,屏幕上刷出的52个命令让我倒吸一口凉气。但实际工作中最常用的其实就十几个,我把它们分成几类:
- 主题管理:updateTopic、deleteTopic、topicList
- 消息查询:queryMsgByKey、queryMsgById、printMsg
- 消费组监控:consumerConnection、consumerProgress
- 集群管理:clusterList、brokerStatus
小技巧:所有命令都支持
-h参数查看帮助,比如mqadmin updateTopic -h会显示详细的参数说明。建议每次使用不熟悉的命令时先看帮助文档。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 主题管理:从创建到删除的全生命周期
2.1 创建主题的隐藏陷阱
上周我们业务上线新功能,需要创建一个名为payment_success的主题。看似简单的updateTopic命令,我踩了三个坑:
bash复制# 错误示范1:忘记指定集群名
mqadmin updateTopic -t payment_success -n 192.168.1.100:9876
# 报错:clusterName or brokerAddr must be specified!
# 错误示范2:队列数设置不合理
mqadmin updateTopic -c my_cluster -t payment_success -w 1 -r 1
# 导致消息堆积时无法横向扩展
# 最终正确的命令:
mqadmin updateTopic -c my_cluster -t payment_success \
-n 192.168.1.100:9876 \
-w 8 -r 8 -p 6 -o false
关键参数解析:
-w和-r:写队列和读队列数,建议设置为相同值,生产环境通常8-16个- `-
