根据docker-compose搭建多主多从RocketMQ集群
2020-07-16 05:34
633 查看
1.创建目录
[code]mkdir -p /home/wangyan/rocketmq/namesvr1/data && mkdir -p /home/wangyan/rocketmq/namesvr1/log && mkdir -p /home/wangyan/rocketmq/namesvr2/data && mkdir -p /home/wangyan/rocketmq/namesvr2/log && mkdir -p /home/wangyan/rocketmq/broker-m-1/data && mkdir -p /home/wangyan/rocketmq/broker-m-1/log && mkdir -p /home/wangyan/rocketmq/broker-m-1/conf && mkdir -p /home/wangyan/rocketmq/broker-m-2/data && mkdir -p /home/wangyan/rocketmq/broker-m-2/log && mkdir -p /home/wangyan/rocketmq/broker-m-2/conf && mkdir -p /home/wangyan/rocketmq/broker-s-1/data && mkdir -p /home/wangyan/rocketmq/broker-s-1/log && mkdir -p /home/wangyan/rocketmq/broker-s-1/conf && mkdir -p /home/wangyan/rocketmq/broker-s-2/data && mkdir -p /home/wangyan/rocketmq/broker-s-2/log && mkdir -p /home/wangyan/rocketmq/broker-s-2/conf
目录结构:
2.进入每个broker的conf目录下创建配置文件
broker-m-1.conf
[code]#集群名称 brokerClusterName=DefaultCluster #broker名称 brokerName=broker1 #brokerId master用0 slave用其他 brokerId=0 #清理时机 deleteWhen=4 #文件保留时长 48小时 fileReservedTime=48 #broker角色 -ASYNC_MASTER异步复制 -SYNC_MASTER同步双写 -SLAVE brokerRole=SYNC_MASTER #刷盘策略 - ASYNC_FLUSH 异步刷盘 - SYNC_FLUSH 同步刷盘 flushDiskType=SYNC_FLUSH #主机ip brokerIP1=192.168.88.3 #对外服务的监听接口,同一台机器上部署多个broker,端口号要不相同 listenPort=10911 #namesvr namesrvAddr=192.168.88.3:9876;192.168.88.3:9877 #是否能够自动创建topic autoCreateTopicEnable=true
broker-s-1.conf
[code]#集群名称 brokerClusterName=DefaultCluster #broker名称 brokerName=broker1 #brokerId master用0 slave用其他 brokerId=1 #清理时机 deleteWhen=4 #文件保留时长 48小时 fileReservedTime=48 #broker角色 -ASYNC_MASTER异步复制 -SYNC_MASTER同步双写 -SLAVE brokerRole=SLAVE #刷盘策略 - ASYNC_FLUSH 异步刷盘 - SYNC_FLUSH 同步刷盘 flushDiskType=SYNC_FLUSH #主机ip brokerIP1=192.168.88.3 #对外服务的监听接口,同一台机器上部署多个broker,端口号要不相同 listenPort=11911 #namesrv namesrvAddr=192.168.88.3:9876;192.168.88.3:9877 #是否能够自动创建topic autoCreateTopicEnable=true
broker-m-2.conf
[code]#集群名称 brokerClusterName=DefaultCluster #broker名称 brokerName=broker2 #brokerId master用0 slave用其他 brokerId=0 #清理时机 deleteWhen=4 #文件保留时长 48小时 fileReservedTime=48 #broker角色 -ASYNC_MASTER异步复制 -SYNC_MASTER同步双写 -SLAVE brokerRole=SYNC_MASTER #刷盘策略 - ASYNC_FLUSH 异步刷盘 - SYNC_FLUSH 同步刷盘 flushDiskType=SYNC_FLUSH #主机ip brokerIP1=192.168.88.3 #对外服务的监听接口,同一台机器上部署多个broker,端口号要不相同 listenPort=12911 #namesrv namesrvAddr=192.168.88.3:9876;192.168.88.3:9877 #是否能够自动创建topic autoCreateTopicEnable=true
broker-s-2.conf
[code]#集群名称 brokerClusterName=DefaultCluster #broker名称 brokerName=broker2 #brokerId master用0 slave用其他 brokerId=1 #清理时机 deleteWhen=4 #文件保留时长 48小时 fileReservedTime=48 #broker角色 -ASYNC_MASTER异步复制 -SYNC_MASTER同步双写 -SLAVE brokerRole=SLAVE #刷盘策略 - ASYNC_FLUSH 异步刷盘 - SYNC_FLUSH 同步刷盘 flushDiskType=SYNC_FLUSH #主机ip brokerIP1=192.168.88.3 #对外服务的监听接口,同一台机器上部署多个broker,端口号要不相同 listenPort=13911 #namesrv namesrvAddr=192.168.88.3:9876;192.168.88.3:9877 #是否能够自动创建topic autoCreateTopicEnable=true
3.创建docker-compose.yml
[code]version: '3.5' services: namesrv1: image: rocketmqinc/rocketmq:4.3.0 container_name: namesrv1 ports: - 9876:9876 volumes: - /home/wangyan/rocketmq/namesrv1/log:/opt/logs - /home/wangyan/rocketmq/namesrv1/data:/opt/store command: sh mqnamesrv networks: rocketmq: aliases: - namesrv1 namesrv2: image: rocketmqinc/rocketmq:4.3.0 container_name: namesrv2 ports: - 9877:9876 volumes: - /home/wangyan/rocketmq/namesrv2/log:/opt/logs - /home/wangyan/rocketmq/namesrv2/data:/opt/store command: sh mqnamesrv networks: rocketmq: aliases: - namesrv2 broker-m-1: image: rocketmqinc/rocketmq:4.3.0 container_name: broker-m-1 links: - namesrv1:namesrv1 - namesrv2:namesrv2 ports: - 10909:10909 - 10911:10911 - 10912:10912 environment: TZ: Asia/Shanghai NAMESRV_ADDR: "namesrv1:9876" JAVA_OPTS: "-Duser.home=/opt" JAVA_OPT_EXT: "-server -Xms256m -Xmx256m -Xmn256m" volumes: - /home/wangyan/rocketmq/broker-m-1/log:/opt/logs - /home/wangyan/rocketmq/broker-m-1/data:/opt/store - /home/wangyan/rocketmq/broker-m-1/conf/broker-m-1.conf:/opt/rocketmq-4.3.0/conf/broker-m-1.conf command: sh mqbroker -c /opt/rocketmq-4.3.0/conf/broker-m-1.conf autoCreateTopicEnable=true & networks: rocketmq: aliases: - broker-m-1 broker-s-1: image: rocketmqinc/rocketmq:4.3.0 container_name: broker-s-1 links: - namesrv1:namesrv1 - namesrv2:namesrv2 ports: - 11909:10909 - 11911:11911 - 11912:10912 environment: TZ: Asia/Shanghai NAMESRV_ADDR: "namesrv1:9876" JAVA_OPTS: "-Duser.home=/opt" JAVA_OPT_EXT: "-server -Xms256m -Xmx256m -Xmn256m" volumes: - /home/wangyan/rocketmq/broker-s-1/log:/opt/logs - /home/wangyan/rocketmq/broker-s-1/data:/opt/store - /home/wangyan/rocketmq/broker-s-1/conf/broker-s-1.conf:/opt/rocketmq-4.3.0/conf/broker-s-1.conf command: sh mqbroker -c /opt/rocketmq-4.3.0/conf/broker-s-1.conf autoCreateTopicEnable=true & networks: rocketmq: aliases: - broker-s-1 broker-m-2: image: rocketmqinc/rocketmq:4.3.0 container_name: broker-m-2 links: - namesrv1:namesrv1 - namesrv2:namesrv1 ports: - 12909:10909 - 12911:12911 - 12912:10912 environment: TZ: Asia/Shanghai NAMESRV_ADDR: "namesrv1:9876" JAVA_OPTS: "-Duser.home=/opt" JAVA_OPT_EXT: "-server -Xms256m -Xmx256m -Xmn256m" volumes: - /home/wangyan/rocketmq/broker-m-2/log:/opt/logs - /home/wangyan/rocketmq/broker-m-2/data:/opt/store - /home/wangyan/rocketmq/broker-m-2/conf/broker-m-2.conf:/opt/rocketmq-4.3.0/conf/broker-m-2.conf command: sh mqbroker -c /opt/rocketmq-4.3.0/conf/broker-m-2.conf autoCreateTopicEnable=true & networks: rocketmq: aliases: - broker-m-2 broker-s-2: image: rocketmqinc/rocketmq:4.3.0 container_name: broker-s-2 links: - namesrv1:namesrv1 - namesrv2:namesrv2 ports: - 13909:10909 - 13911:13911 - 13912:10912 environment: TZ: Asia/Shanghai NAMESRV_ADDR: "namesrv1:9876" JAVA_OPTS: "-Duser.home=/opt" JAVA_OPT_EXT: "-server -Xms256m -Xmx256m -Xmn256m" volumes: - /home/wangyan/rocketmq/broker-s-2/log:/opt/logs - /home/wangyan/rocketmq/broker-s-2/data:/opt/store - /home/wangyan/rocketmq/broker-s-2/conf/broker-s-2.conf:/opt/rocketmq-4.3.0/conf/broker-s-2.conf command: sh mqbroker -c /opt/rocketmq-4.3.0/conf/broker-s-2.conf autoCreateTopicEnable=true & networks: rocketmq: aliases: - broker-s-2 rocketmq-console: image: styletang/rocketmq-console-ng container_name: rocketmq-console ports: - 8090:8080 environment: JAVA_OPTS: -Drocketmq.namesrv.addr=namesrv1:9876;namesrv2:9877 -Dcom.rocketmq.sendMessageWithVIPChannel=false networks: rocketmq: aliases: - rocketmq-console networks: rocketmq: name: rocketmq driver: bridge
4.执行命令
[code]docker-compose -f docker-compose.yml up -d
相关文章推荐
- Rocketmq集群搭建步骤
- rocketmq集群搭建
- RocketMQ(2)---Docker部署RocketMQ集群
- Linux搭建RocketMQ集群
- RocketMQ(2)---Docker部署RocketMQ集群
- CentOS7.4上搭建rocketMQ集群
- Docker-Compose搭建 FastDFS集群
- docker-compose搭建elasticsearch集群
- 基于Docker构建RocketMQ4.4.0集群,以及RocketMQ的一些基本使用
- docker-compose搭建kafka集群
- RocketMQ集群搭建:从源码开始
- RocketMQ集群搭建
- RocketMQ集群监控平台搭建
- docker-compose搭建zookeeper集群
- docker-compose跨机器部署kafka集群(包含zookeeper集群搭建) 第一版本
- docker-compose搭建zookeeper集群
- 【实验级】Docker-Compose搭建单服务器ELK伪集群
- 快速安装docker-compose,通过docker-compose一键搭建kafka集群~
- RocketMQ集群搭建
- Docker-compose编排部署Kafka伪分布式集群(为后续实验搭建基础环境)