一、docker compose文件
vi rocketMq.yml加入以下内容
services:
namesrv:
image: apache/rocketmq:5.3.1
container_name: rmqnamesrv
ports:
- 9876:9876
restart: always
volumes:
- /srv/rocketmq/sever/logs:/opt/logs
- /srv/rocketmq/sever/store:/opt/store
networks:
- mq-n
command: sh mqnamesrv
logging:
driver: "json-file"
options:
max-size: "20m"
max-file: "3"
deploy:
resources:
limits:
cpus: '1.0' # 限制资源
memory: 1g
broker:
image: apache/rocketmq:5.3.1
container_name: rmqbroker
ports:
- 10909:10909
- 10911:10911
- 10912:10912
restart: always
volumes:
- /srv/rocketmq/broker/logs:/opt/logs
- /srv/rocketmq/broker/store:/opt/store
- /srv/rocketmq/broker/conf/broker.conf:/etc/rocketmq/broker.conf
environment:
- NAMESRV_ADDR=rmqnamesrv:9876
- JAVA_OPTS=" -Duser.home=/opt -Xms1g -Xmx1g"
depends_on:
- namesrv
networks:
- mq-n
command: sh mqbroker -c /etc/rocketmq/broker.conf
logging:
driver: "json-file"
options:
max-size: "20m"
max-file: "3"
deploy:
resources:
limits:
cpus: '1.0' # 限制资源
memory: 2g
proxy:
image: apache/rocketmq:5.3.1
container_name: rmqproxy
networks:
- mq-n
depends_on:
- broker
- namesrv
ports:
- 8080:8080
- 8081:8081
restart: always
environment:
- NAMESRV_ADDR=rmqnamesrv:9876
command: sh mqproxy
logging:
driver: "json-file"
options:
max-size: "20m"
max-file: "3"
deploy:
resources:
limits:
cpus: '1.0' # 限制资源
memory: 512m
dashboard:
image: registry.cn-hangzhou.aliyuncs.com/jeecgdocker/rocketmq-dashboard:latest
container_name: mqdashboard
ports:
- 80:8080
restart: always
environment:
- JAVA_OPTS=-Drocketmq.namesrv.addr=namesrv:9876
depends_on:
- namesrv
networks:
- mq-n
logging:
driver: "json-file"
options:
max-size: "20m"
max-file: "3"
deploy:
resources:
limits:
cpus: '1.0' # 限制资源
memory: 512m
networks:
mq-n:
driver: bridge
二、broker.conf配置
- 创建文件夹
mkdir -p /srv/rocketmq/broker/conf vi /srv/rocketmq/broker/conf/broker.conf加入以下内容。- 给对应文件权限
chmod -R 766 /srv/rocketmq/
# 集群名称
brokerClusterName = DefaultCluster
# broker 名字
brokerName = broker-a
# 0表示master,>0 表示slave
brokerId = 0
# 删除文件的时间点
deleteWhen = 04
# 文件保留时间
fileReservedTime = 48
# Broker 的角色
# # - ASYNC_MASTER 异步复制Master
# # - SYNC_MASTER 同步双写Master
# # - SLAVE
brokerRole = ASYNC_MASTER
# 刷盘方式
# # - ASYNC_FLUSH 异步刷盘
# # - SYNC_FLUSH 同步刷盘
flushDiskType = ASYNC_FLUSH
# nameserver地址
namesrvAddr=192.168.31.167:9876
brokerIP1=192.168.31.167
4. 启动容器 docker compose -f ./rocketMq.yml up -d
至此单机的rocketMQ部署完毕。