RocketMQ(4.9.4)学习笔记 - 安装部署

单机部署:
官网文档地址:

https://rocketmq.apache.org/zh/docs/4.x

参考文档:

windows安装RocketMQ_rocketmq windows_book多得的博客-CSDN博客

下载地址:

https://archive.apache.org/dist/rocketmq/4.9.4/rocketmq-all-4.9.4-bin-release.zip

解压到本地,

bin中有各种执行脚本,包含windows和linux的

windows单机部署:

先配置环境变量

启动namesrv

进入rocketmq解压后的文件夹路径,

双击mqnamesrv.cmd或runserver.cmd, mqnamesrv.cmd内部也是调用runserver.cmd

namesrv在rocketmq中相当于一个服务注册中心:

根据官方文档说明,通过namesrv拉取broker信息,真正消息发送和消费都是通过broker

启动broker

在conf文件夹中有很多conf文件,这就涉及到rocketmq的部署方式;

集群模式:参考 RocketMQ 集群配置 - 知乎

2m-2s-async(本文采用模式)-2主2从异步刷盘(吞吐量较大,但是消息可能丢失)

2m-2s-sync:2主2从同步刷盘(吞吐量会下降,但是消息更安全)

2m-noslave :2主无从(单点故障),然后还可以直接配置broker.conf,进行单点环境配置

dledger:用来实现主从切换的。集群中的节点会基于Raft协议随机选举出一个leader,

其他的就都是follower。通常正式环境都会采用这种方式来搭建集群。

然后就是broker.conf文件,根据一些资料说这个是单机的默认配置文件,但是似乎不是,启动的时候需要指定这个文件才行。

broker配置:

其中brokerIP1指向rocketmq配置的外网地址,autoCreateEnableTopic = true表示开启自动创建topic功能,此功能线下测试用用就好,上线最好不要开启,如需要手动创建topic,命令如下 :

sh bin/mqadmin updateTopic -c DefaultCluster -t TopicTest -n 127.0.0.1:9876

启动broker命令

start mqbroker.cmd -n 127.0.0.1:9876 autoCreateTopicEnable=true -c ../conf/broker.conf

其中autoCreateTopicEnable如果在broker.conf中已配置则可去除。

启动console,mq的控制台

下载地址:GitHub - apache/rocketmq-externals: Mirror of Apache RocketMQ (Incubating)

使用idea工具open项目,切换分支。

去除启动类上的注释

修改配置

启动项目,访问项目地址

正常情况下cluster和topic都不为空的,为空说明配置有问题,现在可以使用mq了

Docker部署:
启动namesrv

docker run -d --name rmqnamesrv -p 9876:9876 -e "NAMESRV_ADDR=192.168.31.26:9876" -v D:\mqvolume\logs:/home/rocketmq/logs -v D:\mqvolume\store:/home/rocketmq/store apache/rocketmq:4.9.4 sh mqnamesrv

启动broker

docker run -d --name rmqbroker -p 10911:10911 -p 10912:10912 -v D:\mqvolume\logs:/home/rocketmq/logs -v D:\mqvolume\store:/home/rocketmq/store -v D:\mqvolume\broker.conf:/home/rocketmq/rocketmq-4.9.4/conf/broker.conf -e "NAMESRV_ADDR=192.168.31.26:9876" apache/rocketmq:4.9.4 sh mqbroker -c /home/rocketmq/rocketmq-4.9.4/conf/broker.conf

启动控制台

docker run -e "JAVA_OPTS=-Drocketmq.config.namesrvAddr=192.168.31.26:9876 -Drocketmq.config.isVIPChannel=false" -p 8088:8080 styletang/rocketmq-console-ng

相关推荐
就叫飞六吧4 分钟前
国产数据库gbase8s安装-网盘
笔记
炽烈小老头11 分钟前
【每天学习一点算法 2026/03/22】前 K 个高频元素
学习·算法
阿里云云原生24 分钟前
核桃编程携手阿里云 RocketMQ 打造高可靠、弹性可扩展的在线教育消息中枢
rocketmq
神舟之光33 分钟前
Java面向对象编程知识补充学习-2026.3.21
java·开发语言·学习
网络工程小王44 分钟前
【大数据技术详解】——Kibana(学习笔记)
大数据·笔记·学习
im_AMBER1 小时前
Leetcode 144 位1的个数 | 只出现一次的数字
学习·算法·leetcode
red_redemption1 小时前
自由学习记录(144)
学习
努力的lpp1 小时前
2024小迪安全课程第四节复习笔记
笔记·安全
adore.9682 小时前
3.20 复试学习
学习
Master_oid2 小时前
机器学习35:元学习的应用
人工智能·学习·机器学习