rocketMq docker-compose 部署
namesrv 和 broker 文件夹需要赋权 chmod +777 namesrv broker
1.docker-compose.yml
version: '3.5'
services:
rmqnamesrv:
image: rocketmqinc/rocketmq
container_name: rmqnamesrv
restart: always
ports:
- 9876:9876
environment:
JAVA_OPT_EXT: "-Duser.home=/home/rocketmq -Xms512M -Xmx512M -Xmn128m"
command: ["sh","mqnamesrv"]
volumes:
- ./namesrv/logs:/root/logs
- ./namesrv/store:/root/store
networks:
rmq:
aliases:
- rmqnamesrv
rmqbroker:
image: rocketmqinc/rocketmq
container_name: rmqbroker
restart: always
depends_on:
- rmqnamesrv
ports:
- 10909:10909
- 10911:10911
- 10912:10912
volumes:
- ./broker/logs:/root/logs
- ./broker/store:/root/store
- ./broker/conf/broker.conf:/opt/rocketmq-4.4.0/conf/broker.conf
environment:
NAMESRV_ADDR: "rmqnamesrv:9876"
JAVA_OPT_EXT: "-Duser.home=/home/rocketmq -Xms512M -Xmx512M -Xmn128m"
command: ["sh","mqbroker","-c","/opt/rocketmq-4.4.0/conf/broker.conf","-n","rmqnamesrv:9876","autoCreateTopicEnable=true"]
networks:
rmq:
aliases:
- rmqbroker
rmqconsole:
image: styletang/rocketmq-console-ng
container_name: rocketmq-console
restart: always
ports:
- 9877:8080
depends_on:
- rmqnamesrv
volumes:
- /etc/localtime:/etc/localtime:ro
- /home/rocketmq/console/logs:/root/logs
environment:
JAVA_OPTS: "-Drocketmq.namesrv.addr=rmqnamesrv:9876 -Dcom.rocketmq.sendMessageWithVIPChannel=false"
networks:
rmq:
aliases:
- rmqconsole
networks:
rmq:
name: rmq
driver: bridge
2.创建 broker.conf 配置文件
broker.conf
brokerClusterName = DefaultCluster
brokerName = broker1
brokerId = 0
deleteWhen = 04
fileReservedTime = 48
brokerRole = ASYNC_MASTER
flushDiskType = ASYNC_FLUSH
brokerIP1 = 192.168.19.145
namesrvAddr=mqnamesrv:9876
listenPort = 10911
autoCreateTopicEnable = true
autoCreateSubscriptionGroup = true
useEpollNativeSelector = true
非docker方式部署启动
编写启动脚本
1. mqbroker-start.sh
nohup sh ./bin/mqnamesrv > namesrv.out 2>&1 &
2. mqbroker-start.sh
nohup sh bin/mqbroker -c ./conf/broker.conf -n 127.0.0.1:9876 > broker.out 2>&1 &