用docker-comopse搭建rocket mq 5.3.1的版本
需要数据持久化
<span>store</span> 目录。rocketmq/
├── docker-compose.yaml
├── data/
│ ├── namesrv/
│ │ └── logs/
│ ├── broker/
│ │ ├── logs/
│ │ └── store/
│ ├── proxy/
│ │ └── logs/
│ └── dashboard/
│ └── logs/
└── conf/
└── broker.conf
创建文件夹:
mkdir -p data/namesrv/logs
mkdir -p data/broker/logs
mkdir -p data/broker/store
mkdir -p data/proxy/logs
mkdir -p conf
修改权限
sudo chown -R 3000:3000 data/namesrv data/broker data/proxy
vi conf/broker.conf
输入内容:
# 集群名称
brokerClusterName = DefaultCluster
# Broker 名称
brokerName = broker-a
# Broker ID,0 表示 Master
brokerId = 0
# Broker 对外注册地址
# 外部客户端访问时,替换成宿主机真实可访问的 IP
brokerIP1 = 192.168.1.100
# 消息数据存储目录
storePathRootDir = /home/rocketmq/store
# CommitLog 存储目录
storePathCommitLog = /home/rocketmq/store/commitlog
# 消息文件保留时间(小时)
fileReservedTime = 72
# 每天凌晨 4 点执行过期文件清理检查
deleteWhen = 04
# 异步 Master
brokerRole = ASYNC_MASTER
# 异步刷盘
flushDiskType = ASYNC_FLUSH
# 允许自动创建 Topic(测试环境)
autoCreateTopicEnable = true
注意修改
外部客户端访问时,替换成宿主机真实可访问的 IP
brokerIP1 = 192.168.1.100
修改配置文件的权限
chmod 644 conf/broker.conf
环境搭建就不说了,请查看我们的环境搭建课程吧
services:
# NameServer 服务
namesrv:
image: docker.1ms.run/apache/rocketmq:5.3.1
container_name: rmqnamesrv
ports:
- "9876:9876"
networks:
- rocketmq
environment:
JAVA_OPT_EXT: "-Xms512m -Xmx512m"
volumes:
- ./data/namesrv/logs:/home/rocketmq/logs
command: sh mqnamesrv
restart: always
# Broker 服务
broker:
image: docker.1ms.run/apache/rocketmq:5.3.1
container_name: rmqbroker
ports:
- "10909:10909"
- "10911:10911"
- "10912:10912"
networks:
- rocketmq
environment:
NAMESRV_ADDR: rmqnamesrv:9876
JAVA_OPT_EXT: "-Xms1g -Xmx1g -Xmn512m"
volumes:
# Broker 日志
- ./data/broker/logs:/home/rocketmq/logs
# 消息数据持久化(最重要)
- ./data/broker/store:/home/rocketmq/store
# Broker 配置文件
- ./conf/broker.conf:/home/rocketmq/rocketmq-5.3.1/conf/broker.conf:ro
depends_on:
- namesrv
command: sh mqbroker -c /home/rocketmq/rocketmq-5.3.1/conf/broker.conf
restart: always
# RocketMQ Dashboard 控制台
rocketmq-dashboard:
image: docker.1ms.run/apacherocketmq/rocketmq-dashboard:latest
container_name: rocketmq-dashboard
ports:
- "8088:8082"
networks:
- rocketmq
environment:
JAVA_OPTS: "-Drocketmq.namesrv.addr=rmqnamesrv:9876"
depends_on:
- namesrv
- broker
restart: always
# RocketMQ 5.x Proxy
proxy:
image: docker.1ms.run/apache/rocketmq:5.3.1
container_name: rmqproxy
networks:
- rocketmq
depends_on:
- broker
- namesrv
ports:
- "8080:8080"
- "8081:8081"
environment:
NAMESRV_ADDR: rmqnamesrv:9876
JAVA_OPT_EXT: "-Xms1g -Xmx1g"
volumes:
# Proxy 日志
- ./data/proxy/logs:/home/rocketmq/logs
command: sh mqproxy
restart: on-failure
networks:
rocketmq:
driver: bridge
docker compose up -d
查看持久化文件
ls -lah data/broker/store/
查看控制面板
ip:8088






















