docker-compose 搭建 rabbitmq 集群 delayed_message_exchange | 20230214
| 主机名 | IP |
|---|---|
| test1 | 172.16.16.119 |
| test2 | 172.16.16.120 |
| test3 | 172.16.16.121 |
在 test1 上操作,其他两台机子类似
mkdir -p /data/docker-compose/rabbitmq-delayed/etc/conf
cd /data/docker-compose/rabbitmq-delayed
# 其他两台集群修改 container_name,hostname,RABBITMQ_NODENAME
cat >> docker-compose.yaml << EOF
version: '3.4'
services:
rabbitmq:
image: harbor.junengcloud.com/rabbitmq/rabbitmq:3.7.17-alpine-delayed_message_exchange
deploy:
resources:
limits:
cpus: '2'
memory: 3G
network_mode: "host"
volumes:
- ./data:/var/lib/rabbitmq
- ./etc/hosts:/etc/hosts
- ./etc/conf:/etc/rabbitmq
- /etc/localtime:/etc/localtime
container_name: rabbitmq1
hostname: rabbitmq1
environment:
- RABBITMQ_NODENAME=rabbitmq1 # 每个节点不一样
- RABBITMQ_ERLANG_COOKIE='huidiancloud'
restart: always
EOF
cd /data/docker-compose/rabbitmq-delayed/etc
# 添加主机名
cat >> hosts << EOF
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
172.16.16.119 test1 rabbitmq1
172.16.16.120 test2 rabbitmq2
172.16.16.121 test3 rabbitmq3
EOF
cd /data/docker-compose/rabbitmq-delayed/etc/conf
# 添加开机启动的插件
cat >> enabled_plugins << EOF
[rabbitmq_management,rabbitmq_mqtt,rabbitmq_delayed_message_exchange].
EOF
cat >> rabbitmq.conf << EOF
# 设置端口,用户名和密码
loopback_users.guest = false
listeners.tcp.default = 5672
default_user = yueneng
default_pass = Ynt2022
management.listener.port = 15672
management.listener.ssl = false
EOF
cd /data/docker-compose/rabbitmq-delayed
docker-compose up -d
加入集群
# 在 test2 上操作
docker exec -it rabbitmq2 /bin/bash
rabbitmqctl stop_app
rabbitmqctl reset
rabbitmqctl join_cluster rabbitmq1@test1
rabbitmqctl start_app
exit
# 在 test3 上操作
docker exec -it rabbitmq3 /bin/bash
rabbitmqctl stop_app
rabbitmqctl reset
rabbitmqctl join_cluster rabbitmq1@test1
rabbitmqctl start_app
exit
# 查看集群状态,在 test1 上操作
docker exec -it rabbitmq1 /bin/bash
rabbitmqctl cluster_status
# 设置镜像模式
rabbitmqctl set_policy ha-all "^" '{"ha-mode":"all"}'

浙公网安备 33010602011771号