Mac下使用docker搭建rocketmq两主两从集群
Mac下使用docker搭建rocketmq两主两从集群
本人是docker小白。因为公司产品使用了rockermq,但是真正部署上都是一台服务器单机的。所以自己想试下,部署个集群看应用端代码是否匹配,能不能正常使用。没得服务器,就想说用docker来弄。
记录下踩坑、学习经过
ps:简书是真的难用,搬到csdn来了
1.安装docker
可参照该网址安装
https://www.runoob.com/docker/macos-docker-install.html
2.创建所需文件夹
nameserver-a的log和store
mkdir -p /opt/rocketmq/logs/nameserver-a
mkdir -p /opt/rocketmq/logs/nameserver-b
mkdir -p /opt/rocketmq/store/nameserver-a
mkdir -p /opt/rocketmq/store/nameserver-b
broker-a、broker-b的log和store
mkdir -p /opt/rocketmq/logs/broker-a
mkdir -p /opt/rocketmq/logs/broker-b
mkdir -p /opt/rocketmq/store/broker-a
mkdir -p /opt/rocketmq/store/broker-b
mkdir -p /home/rocketmq/broker-a/
mkdir -p /home/rocketmq/broker-b/
broker-a-s、broker-b-s的log和store
mkdir -p /opt/rocketmq/logs/broker-a-s
mkdir -p /opt/rocketmq/logs/broker-b-s
mkdir -p /opt/rocketmq/store/broker-a-s
mkdir -p /opt/rocketmq/store/broker-b-s
mkdir -p /home/rocketmq/broker-a-s
mkdir -p /home/rocketmq/broker-b-s
如果创建不了 。root用户都说没权限的话。
cd /
sudo mount -uw /
再试试看下。
3.docker创建网络
应为后面考虑到配置文件要写死ip。这里先创建网络嘚
docker network create --driver bridge --subnet=172.18.0.0/16 --gateway=172.18.0.1 mynet
解析:
–driver bridge 表示使用桥接模式
–subnet 172.18.0.0/16 表示子网ip 可以分配 172.18.0.2 到 172.18.255.255
–gateway 172.18.1.0 表示网关
mynet 表示网络名
删除网络(补充)
4.创建配置文件
17.18.0.2 namesvr-a
17.18.0.3 namesvr-b
17.18.0.4 broker-a
17.18.0.5 broker-b
17.18.0.6 broker-a-s
17.18.0.7 broker-b-s
broker-a.conf
brokerClusterName=DefaultCluster
brokerName=broker-a
brokerId=0
brokerIP1=172.18.0.4
brokerIP2=172.18.0.4
listenPort=10911
namesrvAddr=172.18.0.2:9876;172.18.0.3:9876
autoCreateTopicEnable=true
autoCreateSubscriptionGroup=true
deleteWhen=04
fileReservedTime=48
brokerRole=SYNC_MASTER
flushDiskType=ASYNC_FLUSH
broker-b.conf
brokerClusterName=DefaultCluster
brokerName=broker-