首页 > 运维 > Docker > docker swarm部署rabbitmq集群
2019
09-22

docker swarm部署rabbitmq集群

swarm集群搭建看这里,本篇不做概述

在现在的docker swarm 环境上搭建RabbitMQ

1.使用docker-compose编排构建集群

并且还需要事先创建network

docker-composer.yaml

进入目录执行部署

在Marster服务器上查看service rabbit_rabbit1的具体部署

三个rabbitmq 都装在了master机器(这个问题最后边解释处理

访问 rabbitmq管理后台:http://localhost:15672/ 查看

糟糕的是rabbit1和rabbit2建立了集群,但是rabbit3并没有。下面继续在xubuntu3号节点上用CLI查看rabbitMQ集群部署情况。

发现确实只有rabbit1和rabbit2两个节点集群,下面让rabbit3也加入集群。我承认这个解决方法并不完美,但是可用… 应该能直接让docker启动的rabbit容器自动集群,有待优化

进入rabbitm3容器

登录rabbitMQ管理后台,发现已经成功加入

三个服务都装在了Master1节点

猜想:可能因为我把其他工作节点之前都升级为了Master节点(高可用), 而我执行yaml脚本后,由于主节点找不到工作节点,所以将所有的服务装在了自身节点:

验证:

1.取消其他2个节点为master节点

查看

2.再次执行yaml脚本

现在主节点只有swarm-master

可以看到,不行

最终找到了原因,是因为其他节点下,使用上面那个脚本,需要将那2个配置文件放置到每一个要启动的节点,因为我没有放,所以起不来,所以系统最终将所有服务安装在了master节点

正常了

工作节点排除/允许manager,manager只作为管理节点

最后编辑:
作者:shooter
这个作者貌似有点懒,什么都没有留下。