参考文档
https://rocketmq.apache.org/zh/docs/quickStart/01quickstart
centos中部署
安装
$ unzip rocketmq-all-5.1.3-source-release.zip
$ cd rocketmq-all-5.1.3-source-release/
$ mvn -Prelease-all -DskipTests -Dspotbugs.skip=true clean install -U
$ cd distribution/target/rocketmq-5.1.3/rocketmq-5.1.3
mvn环境查看jenkis安装中mvn部署
修改配置文件
1.修改broker.com
listenPort=10911
autoCreateTopicEnable=true
autoCreateSubscriptionGroup=true
namesrvAddr=localhost:9876
storePathRootDir=/usr/local/tools/rocketmq/store/broker-a
storePathCommitLog=/usr/local/tools/rocketmq/store/broker-a/commitlog
storePathConsumeQueue=/usr/local/tools/rocketmq/store/broker-a/consumequeue
storePathIndex=/usr/local/tools/rocketmq/store/broker-a/index
storeCheckpoint=/usr/local/tools/rocketmq/store/broker-a/checkpoint
abortFile=/usr/local/tools/rocketmq/store/broker-a/abort
2.修改启动的内容
vim runserver.sh
JAVA_OPT="${JAVA_OPT} -server -Xms256m -Xmx256m -Xmn512m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m"
vim runbroker.sh
JAVA_OPT="${JAVA_OPT} -server -Xms256m -Xmx256m -Xmn128m"
vim tools.sh
JAVA_OPT="${JAVA_OPT} -server -Xms256m -Xmx256m -Xmn256m -XX:PermSize=128m -XX:MaxPermSize=128m"
3.修改tools.sh配置文件
export NAMESRV_ADDR=127.0.0.1:9876
启动NameServer
nohup sh bin/mqnamesrv &
tail -f ~/logs/rocketmqlogs/namesrv.log
The Name Server boot success...
启动Broker+Proxy
$ nohup sh bin/mqbroker -n localhost:9876 --enable-proxy &
$ tail -f ~/logs/rocketmqlogs/proxy.log
The broker[broker-a,192.169.1.2:10911] boot success...
4. 工具测试消息收发
$ export NAMESRV_ADDR=localhost:9876
$ sh bin/tools.sh org.apache.rocketmq.example.quickstart.Producer
SendResult [sendStatus=SEND_OK, msgId= ...
$ sh bin/tools.sh org.apache.rocketmq.example.quickstart.Consumer
ConsumeMessageThread_%d Receive New Messages: [MessageExt...
基本命令
关闭服务
sh bin/mqshutdown broker
sh bin/mqshutdown namesrv
查看帮助
sh mqadmin help 命令名称
sh mqadmin help updateTopic
创建修改Topic(主题)
指令: updateTopic
类路径:com.alibaba.rocketmq.tools.command.topic.UpdateTopicSubCommand
参数
参数 是否必填 说明
-b 如果 -c为空,则必填 broker地址,表示topic建在该broker
-c 如果 -b为空,则必填 cluster名称,表示topic建在该集群(集群可通过clusterList查询)
-h 否 打印帮助
-n 是 nameserve服务地址列表,格式ip:port;ip:port;…
-p 否 指定新topic的权限限制( W
-r 否 可读队列数(默认为8)
-w 否 可写队列数(默认为8)
-t 是 topic名称(名称只能使用字符 ^[a-zA-Z0-9_-]+$ )
例子:
sh mqadmin updateTopic –n 172.21.16.253:9876 –c DefaultCluster –t ZTEExample
删除主题Topic
指令: deleteTopic
类路径:com.alibaba.rocketmq.tools.command.topic.DeleteTopicSubCommand
参数
参数 是否必填 说明
-c 是 cluster名称,表示删除某集群下的某个topic (集群可通过clusterList查询)
-h 否 打印帮助
-n 是 nameserve服务地址列表,格式ip:port;ip:port;…
-t 是 topic名称(名称只能使用字符 ^[a-zA-Z0-9_-]+$ )
例子:
sh mqadmin deleteTopic –n 172.21.16.253:9876 –c DefaultCluster –t ZTEExample
创建修改订阅组
指令: updateSubGroup
类路径:com.alibaba.rocketmq.tools.command.consumer.UpdateSubGroupSubCommand
参数
参数 是否必填 说明
-b 如果 -c为空,则必填 broker地址,表示topic建在该broker
-c 如果 -b为空,则必填 cluster名称,表示topic建在该集群(集群可通过clusterList查询)
-d 否 是否容许广播方式消费
-g 是 订阅组名
-i 否 从哪个broker开始消费
-m 否 是否容许从队列的最小位置开始消费,默认会设置为false
-q 否 消费失败的消息放到一个重试队列,每个订阅组配置几个重试队列
-r 否 重试消费最大次数,超过则投递到死信队列,不再投递,并报警
-s 否 消费功能是否开启
-h 否 打印帮助
-n 是 nameserve服务地址列表,格式ip:port;ip:port;…
-w 否 发现消息堆积后,将Consumer的消费请求重定向到另外一台Slave机器
删除订阅组配置
指令: deleteSubGroup
类路径:com.alibaba.rocketmq.tools.command.consumer.DeleteSubscriptionGroupCommand
参数
参数 是否必填 说明
-b 如果 -c为空,则必填 broker地址,表示订阅组建在该broker
-c 如果 -b为空,则必填 cluster名称,表示topic建在该集群(集群可通过clusterList查询)
-g 是 订阅组名
-h 否 打印帮助
-n 是 nameserve服务地址列表,格式ip:port;ip:port;…
更新broker配置文件
指令: updateBrokerConfig
类路径:com.alibaba.rocketmq.tools.command.broker.UpdateBrokerConfigSubCommand
参数
参数 是否必填 说明
-b 如果 -c为空,则必填 broker地址,表示订阅组建在该broker
-c 如果 -b为空,则必填 cluster名称,表示topic建在该集群(集群可通过clusterList查询)
-k 否 是否容许广播方式消费
-v 是 value值
-h 否 打印帮助
-n 是 nameserve服务地址列表,格式ip:port;ip:port;…
查看topic列表信息
指令: updateBrokerConfig
类路径:com.alibaba.rocketmq.tools.command.broker.UpdateBrokerConfigSubCommand
参数
参数 是否必填 说明
-b 如果 -c为空,则必填 broker地址,表示订阅组建在该broker
-c 如果 -b为空,则必填 cluster名称,表示topic建在该集群(集群可通过clusterList查询)
-k 否 是否容许广播方式消费
-v 是 value值
-h 否 打印帮助
-n 是 nameserve服务地址列表,格式ip:port;ip:port;…
例子
sh mqadmin topicList -n 172.21.16.253:9876
查看路由信息
指令: topicRoute
类路径: com.alibaba.rocketmq.tools.command.topic.TopicRouteSubCommand
参数
参数 是否必填 说明
-t 是 topic名称
-h 否 打印帮助
-n 是 nameserve服务地址列表,格式ip:port;ip:port;…
sh mqadmin topicRoute -n 172.21.16.253:9876 -t %DLQ%consumer1
查看topic统计情况
指令: topicStatus
类路径:com.alibaba.rocketmq.tools.command.topic.TopicStatsSubCommand
参数
参数 是否必填 说明
-t 是 topic名称
-h 否 打印帮助
-n 是 nameserve服务地址列表,格式ip:port;ip:port;…
例子
sh mqadmin topicStatus -n 172.21.16.253:9876 -t %DLQ%consumer1
查看broker统计信息
指令: brokerStatus
类路径:com.alibaba.rocketmq.tools.command.broker.BrokerStatsSubCommand
参数
参数 是否必填 说明
-b 是 broker地址
-h 否 打印帮助
-n 是 nameserve服务地址列表,格式ip:port;ip:port
例子
sh mqadmin brokerStatus –n 172.21.16.253:9876 -b 172.21.16.253:10911
根据消息ID查询消息
指令: queryMsgById
类路径:com.alibaba.rocketmq.tools.command.message.QueryMsgByIdSubCommand
参数
参数 是否必填 说明
-i 是 msgId
-h 否 打印帮助
-n 是 nameserve服务地址列表,格式ip:port;ip:port;
例子