跳转至

01 RocketMQ 基本命令操作

RocketMQ 基本操作

1、删除topic 操作

有时候需要在命令行重建topic,具体操作步骤如下

1、 删除topic

#!/bin/bash
ROCKETMQ_HOME="/data/rocketmq/rocketmq-5.1.4"
NAMESRV_ADDR="127.0.0.1:9876"
TOPIC_NAME="test"
Cluster_Name="DefaultCluster"
GROUP_NAME="cmzhu"
${ROCKETMQ_HOME}/bin/mqadmin deleteTopic -n "${NAMESRV_ADDR}" -t "${TOPIC_NAME}" -c "${Cluster_Name}"

2、 通过如下命令可以获取cluster name

$ ${ROCKETMQ_HOME}/bin/mqadmin clusterList -n 127.0.0.1:9876

3、创建topic

$ ${ROCKETMQ_HOME}/bin/mqadmin  updateTopic -n "${NAMESRV_ADDR}" -t "${TOPIC_NAME}" -c "${Cluster_Name}" -a +message.type=FIFO

4、根据topic 查看消息

$ ${ROCKETMQ_HOME}/bin/mqadmin printMsg -t keyword  -n 127.0.0.1:9876 -s 1818195464378384384

2、创建Topic 操作

通过如下命令创建Topic

$ ${ROCKETMQ_HOME}/bin/mqadmin  updateTopic -n "${NAMESRV_ADDR}" -t "${TOPIC_NAME}" -c "${Cluster_Name}" -a +message.type=FIFO

3、 创建Customer Group

通过以下命令创建消费者组

$ ${ROCKETMQ_HOME}/bin/mqadmin updateSubGroup  -g ${GROUP_NAME} -b "${Cluster_Name}"

查询命令

$  ${ROCKETMQ_HOME}/bin/mqadmin consumerProgress -g ${GROUP_NAME}

如果遇见不能查询消费者组的情况,例如:

./mqadmin consumerProgress -g xxxx
org.apache.rocketmq.tools.command.SubCommandException: ConsumerProgressSubCommand command failed
    at org.apache.rocketmq.tools.command.consumer.ConsumerProgressSubCommand.execute(ConsumerProgressSubCommand.java:269)
    at org.apache.rocketmq.tools.command.MQAdminStartup.main0(MQAdminStartup.java:181)
    at org.apache.rocketmq.tools.command.MQAdminStartup.main(MQAdminStartup.java:131)
Caused by: org.apache.rocketmq.client.exception.MQClientException: CODE: 17  DESC: No topic route info in name server for the topic: %RETRY%xxxx
See https://rocketmq.apache.org/docs/bestPractice/06FAQ for further details.
    at org.apache.rocketmq.client.impl.MQClientAPIImpl.getTopicRouteInfoFromNameServer(MQClientAPIImpl.java:2110)
    at org.apache.rocketmq.client.impl.MQClientAPIImpl.getTopicRouteInfoFromNameServer(MQClientAPIImpl.java:2081)
    at org.apache.rocketmq.tools.admin.DefaultMQAdminExtImpl.examineTopicRouteInfo(DefaultMQAdminExtImpl.java:602)
    at org.apache.rocketmq.tools.admin.DefaultMQAdminExtImpl.examineConsumeStats(DefaultMQAdminExtImpl.java:440)
    at org.apache.rocketmq.tools.admin.DefaultMQAdminExtImpl.examineConsumeStats(DefaultMQAdminExtImpl.java:413)
    at org.apache.rocketmq.tools.admin.DefaultMQAdminExt.examineConsumeStats(DefaultMQAdminExt.java:322)
    at org.apache.rocketmq.tools.admin.DefaultMQAdminExt.examineConsumeStats(DefaultMQAdminExt.java:309)
    at org.apache.rocketmq.tools.command.consumer.ConsumerProgressSubCommand.execute(ConsumerProgressSubCommand.java:123)
    ... 2 more

可通过创建一个Retry Topic 进行处理

$ ${ROCKETMQ_HOME}/bin/mqadmin updateTopic  -c "${Cluster_Name}" -t %RETRY%${GROUP_NAME}