Docker下RabbitMq集群的安装
本次我们基于docker来搭建rabbitmq的集群环境,我们使用三个rabbitmq服务来搭建集群环境,分别对应到宿主机器的5000、5001、5002端口。
在宿主机创建好文件目录
在宿主机创建rabbitmq5000、rabbitmq5001、rabbitmq5002三个目录。
编排容器
编写如下内容的docker-compose.yaml文件:
version: '2'
services:
rabbitmq5000:
image: daocloud.io/library/rabbitmq:3-management
hostname: rabbit1
container_name: rabbit1
ports:
- "5000:15672"
- "56720:5672"
restart: always
environment:
- RABBITMQ_NODENAME=rabbit1
- RABBITMQ_ERLANG_COOKIE=rabbitmqCookie
- RABBITMQ_DEFAULT_USER=myuser
- RABBITMQ_DEFAULT_PASS=mypass
volumes:
- /data/rabbitmq/rabbitmq5000:/var/lib/rabbitmq
tty: true
networks:
mqnetwork:
ipv4_address: 172.21.0.2
rabbitmq5001:
image: daocloud.io/library/rabbitmq:3-management
hostname: rabbit2
container_name: rabbit2
ports:
- "5001:15672"
- "56721:5672"
restart: always
environment:
- RABBITMQ_NODENAME=rabbit2
- RABBITMQ_ERLANG_COOKIE=rabbitmqCookie
- RABBITMQ_DEFAULT_USER=myuser
- RABBITMQ_DEFAULT_PASS=mypass
volumes:
- /data/rabbitmq/rabbitmq5001:/var/lib/rabbitmq
- /data/rabbitmq/rabbitmq-disk.sh:/home/rabbitmq.sh
links:
- rabbitmq5000:rabbitmq5000
tty: true
networks:
mqnetwork:
ipv4_address: 172.21.0.3
rabbitmq5002:
image: daocloud.io/library/rabbitmq:3-management
hostname: rabbit3
container_name: rabbit3
ports:
- "5002:15672"
- "56722:5672"
restart: always
environment:
- RABBITMQ_NODENAME=rabbit3
- RABBITMQ_ERLANG_COOKIE=rabbitmqCookie
- RABBITMQ_DEFAULT_USER=myuser
- RABBITMQ_DEFAULT_PASS=mypass
volumes:
- /data/rabbitmq/rabbitmq5002:/var/lib/rabbitmq
- /data/rabbitmq/rabbitmq-disk.sh:/home/rabbitmq.sh
links:
- rabbitmq5000:rabbitmq5000
tty: true
networks:
mqnetwork:
ipv4_address: 172.21.0.4
networks:
mqnetwork:
ipam:
config:
- subnet: 172.21.0.0/16
gateway: 172.21.0.1
启动容器并配置集群
rabbitmq-disk.sh
rabbitmqctl stop_app
rabbitmqctl reset
rabbitmqctl join_cluster rabbit1@rabbit1
rabbitmqctl start_app
rabbitmq-ram.sh
rabbitmqctl stop_app
rabbitmqctl reset
rabbitmqctl join_cluster --ram rabbit1@rabbit1
rabbitmqctl start_app
分别进入5001和5002对应的容器(
docker-compose exec container_name bash
),根据需要执行相应的集群配置命令即可完成集群配置。
集群验证
访问界面看到如下三个节点代表集群完成
集群搭建成功截图
springboot连接队列配置:
spring:
rabbitmq:
addresses: 192.168.126.134:56720,192.168.126.134:56721,192.168.126.134:56722
username: guest
password: guest
网友评论