Docker部署 RocketQM双主模式

  • 本次IP为:
  • 192.168.8.137
  • 192.168.8.143

137上的配置

cat <<END>broker-a.properties 
brokerClusterName=DefaultCluster
brokerName=broker-a
brokerId=0
namesrvAddr=192.168.8.143:9876;192.168.8.137:9876
brokerIP1=192.168.8.137
defaultTopicQueueNums=4
autoCreateTopicEnable=true
autoCreateSubscriptionGroup=true
listenPort=10911
deleteWhen=04
fileReservedTime=120
mapedFileSizeCommitLog=1073741824
mapedFileSizeConsumeQueue=300000
diskMaxUsedSpaceRatio=88
maxMessageSize=65536
brokerRole=SYNC_MASTER
flushDiskType=ASYNC_FLUSH
END
  • 首先137的namesr启动
docker run -d --name rmqnamesr --net mq --ip 172.99.0.11 -v /etc/localtime:/etc/localtime:ro -v /rocketmq/logs:/home/rocketmq/logs -e "JAVA_OPT_EXT=-Xms512M -Xmx512M -Xmn128m" -p 9876:9876 foxiswho/rocketmq:4.8.0 sh mqnamesrv
  • 再启动broker
docker run -d --name rmqbroker --net mq --ip 172.99.0.80 -e "JAVA_OPT_EXT=-Xmx960m -Xms960m -Xmn1048m" -v /tmp/dou/broker-a.properties:/home/rocketmq/conf/broker-a.properties  -v /etc/localtime:/etc/localtime:ro -p 10909:10909 -p 10911:10911 foxiswho/rocketmq:4.8.0 sh mqbroker -c /home/rocketmq/conf/broker-a.properties
  • 192.168.8.143也是

143上的配置

cat <<END>broker-a.properties 
brokerClusterName=DefaultCluster
brokerName=broker-b
brokerId=0
namesrvAddr=192.168.8.143:9876;192.168.8.137:9876
brokerIP1=192.168.8.143
defaultTopicQueueNums=4
autoCreateTopicEnable=true
autoCreateSubscriptionGroup=true
listenPort=10911
deleteWhen=04
fileReservedTime=120
mapedFileSizeCommitLog=1073741824
mapedFileSizeConsumeQueue=300000
diskMaxUsedSpaceRatio=88
maxMessageSize=65536
brokerRole=SYNC_MASTER
flushDiskType=ASYNC_FLUSH
END
  • rmqnamesr 启动
docker run -d --name rmqnamesr --net mq --ip 172.99.0.11 -v /etc/localtime:/etc/localtime:ro -v /rocketmq/logs:/home/rocketmq/logs -e "JAVA_OPT_EXT=-Xms512M -Xmx512M -Xmn128m" -p 9876:9876 foxiswho/rocketmq:4.8.0 sh mqnamesrv
  • rmqbroker
docker run -d --name rmqbroker --net mq --ip 172.99.0.80 -e "JAVA_OPT_EXT=-Xmx960m -Xms960m -Xmn1048m" -v /tmp/dou/broker-a.properties:/home/rocketmq/conf/broker-a.properties  -v /etc/localtime:/etc/localtime:ro -p 10909:10909 -p 10911:10911 foxiswho/rocketmq:4.8.0 sh mqbroker -c /home/rocketmq/conf/broker-a.properties
  • 最后任意节点启动一个控制台
docker run --name console --net mq --ip 172.99.0.78 -v /etc/localtime:/etc/localtime:ro -e "JAVA_OPTS=-Drocketmq.namesrv.addr=192.168.8.143:9876;192.168.8.137:9876 -Dcom.rocketmq.sendMessageWithVIPChannel=false -Duser.timezone='Asia/Shanghai'" -p 8080:8080 -t styletang/rocketmq-console-ng:latest

其实配置区别就是两处不同

如果第一台写了broker-a第二台必须写broker-b不然控制台无法识别 
brokerName=broker-a 
设置宿主机的IP
brokerIP1=192.168.8.137
  • 温馨提示生产环境需要做持久化启动broker的时候添加以下参数

-v /data/store:/home/rocketmq/store

在这里插入图片描述

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_42562106/article/details/114683291