背景
项目中用到了rocketmq,开始用的docker版的配置一下,启动起来就好了,用了一段时间因为内存占用以及生成的log占用/var的问题,改成了本地部署版,docker版的脚本不舍得直接delete,因此在这mark一下rocketmq 双主双从集群搭建过程。
部署
拉取官方镜像
// An highlighted block
docker pull rocketmqinc/rocketmq
docker image中包含namesrv,broker,还需要额外下一个console的镜像文件,启动后可以在控制台查看修改配置信息。
运行docker 镜像
#10.190.1.1 namesrv启动
docker run -d -p 9876:9876 -v `pwd`/data/namesrv/logs:/root/logs
-v `pwd`/data/namesrv/store:/root/store --name rmqnamesrv rocketmqinc/rocketmq
sh mqnamesrv
#10.190.1.2 namesrv启动
docker run -d -p 9876:9876 -v `pwd`/data/namesrv/logs:/root/logs
-v `pwd`/data/namesrv/store:/root/store --name rmqnamesrv rocketmqinc/rocketmq
sh mqnamesrv
broker-a启动
#10.190.1.1 broker-a启动
docker run -d -p 10911:10911 -p 10909:10909
-v `pwd`/data/broker/logs/rocketmq-broker-master:/root/logs
-v `pwd`/data/broker/store/rocketmq-borker-master:/root/store
--name rmqbroker-a --link rmqnamesrv:namesrv
-e "NAMESRV_ADDR=10.190.1.1:9876;10.190.1.2:9876" rocketmqinc/rocketmq sh mqbroker
-c /opt/rocketmq-4.4.0/conf/2m-2s-sync/broker-a.properties
broker-b启动
#10.190.1.2 broker-a启动
docker run -d -p 10911:10911 -p 10909:10909
-v `pwd`/data/broker/logs/rocketmq-broker-master:/root/logs
-v `pwd`/data/broker/store/rocketmq-borker-master:/root/store
--name rmqbroker-a --link rmqnamesrv:namesrv
-e "NAMESRV_ADDR=10.190.1.1:9876;10.190.1.2:9876" rocketmqinc/rocketmq sh mqbroker
-c /opt/rocketmq-4.4.0/conf/2m-2s-sync/broker-b.properties
broker-b-s启动
#10.190.1.1 broker-a启动
docker run -d -p 10921:10921 -p 10919:10919
-v `pwd`/data/broker/logs/rocketmq-broker-master:/root/logs
-v `pwd`/data/broker/store/rocketmq-borker-master:/root/store
--name rmqbroker-a --link rmqnamesrv:namesrv
-e "NAMESRV_ADDR=10.190.1.1:9876;10.190.1.2:9876" rocketmqinc/rocketmq sh mqbroker
-c /opt/rocketmq-4.4.0/conf/2m-2s-sync/broker-b-s.properties
broker-a-s启动
#10.190.1.2 broker-a启动
docker run -d -p 10921:10921 -p 10919:10919
-v `pwd`/data/broker/logs/rocketmq-broker-master:/root/logs
-v `pwd`/data/broker/store/rocketmq-borker-master:/root/store
--name rmqbroker-a --link rmqnamesrv:namesrv
-e "NAMESRV_ADDR=10.190.1.1:9876;10.190.1.2:9876" rocketmqinc/rocketmq sh mqbroker
-c /opt/rocketmq-4.4.0/conf/2m-2s-sync/broker-a-s.properties
拉取rocketmq console镜像
docker pull rocketmq-console-ng
启动rocketmq console
docker run --name console -p 10801:8080
-v /root/rocketmq/logs/rocketmq-console:/root/logs
-v /tmp/rocketmq-console:/tmp
-e "NAMESRV_ADDR=10.190.1.1:9876;10.190.1.2:9876"
-t rocketmq-console-ng
可视化的前端
浏览器打开网址部署console的机器ip:10801
后记
至此,docker版部署完毕,下一篇追述rockemtmq的broker配置文件,哪里有问题欢迎指摘,谢谢。