RabbitMQ3.6.8集群安装配置-Docker
一. 服务器规划
|
主机 |
IP |
端口 |
节点名称 |
集群类型 |
节点类型 |
erlang cookie |
备注 |
|
b-mid-24 |
172.16.0.24 |
4369, 5672, 15672, 25672 |
rabbit@docker-rabbitmq-b-mid-24 |
镜像集群 |
leader节点、磁盘节点 |
TUYTLKROKFWQRYREFGBP |
4369:(epmd)epmd代表 Erlang端口映射守护进程,erlang发现端口; 5672、5671:(amqp)AMQP 0-9-1 without and with TLSclient端通信口; 15672:(http)管理界面ui使用的端口; 25672:(cluster)( Erlang distribution) server间内部通信端口; |
|
b-mid-25 |
172.16.0.25 |
4369, 5672, 15672, 25672 |
rabbit@docker-rabbitmq-b-mid-25 |
磁盘节点 |
|||
|
b-mid-26 |
172.16.0.26 |
4369, 5672, 15672, 25672 |
rabbit@docker-rabbitmq-b-mid-26 |
磁盘节点 |
二. 集群部署
注:如无特殊说明,则3台服务器命令和配置一样
1. 配置
1.1 创建宿主机映射目录和配置文件
mkdir -p /data/docker/rabbitmq-home/{conf,data,log}
chmod -R 777 /data/docker/rabbitmq-home/conf
chmod -R 777 /data/docker/rabbitmq-home/data
chmod -R 777 /data/docker/rabbitmq-home/log
1.2 修改 rabbitmq-home 目录及子目录所属用户为 yunwei :
chown -R yunwei:yunwei /data/docker/rabbitmq-home
2. 启动
2.1 开启端口
firewall-cmd --permanent --add-port=4369/tcp firewall-cmd --permanent --add-port=5672/tcp firewall-cmd --permanent --add-port=15672/tcp firewall-cmd --permanent --add-port=25672/tcp firewall-cmd --reload firewall-cmd --list-all
2.2 启动服务(用 yunwei 账号执行)
拉取镜像:
docker pull rabbitmq:3.6.8-management
启动服务:
24服务器:
# 24服务器,创建容器、启动服务 docker run -d \ --name rabbitmq \ --network host \ --restart=unless-stopped \ --hostname docker-rabbitmq-b-mid-24 \ --add-host=docker-rabbitmq-b-mid-24:172.16.0.24 \ --add-host=docker-rabbitmq-b-mid-25:172.16.0.25 \ --add-host=docker-rabbitmq-b-mid-26:172.16.0.26 \ -v /data/docker/rabbitmq-home/conf:/etc/rabbitmq \ -v /data/docker/rabbitmq-home/data:/var/lib/rabbitmq \ -v /data/docker/rabbitmq-home/log:/var/log/rabbitmq \ -v /etc/localtime:/etc/localtime \ -e RABBITMQ_LOG_BASE=/var/log/rabbitmq \ -e RABBITMQ_LOGS= \ -e RABBITMQ_SASL_LOGS= \ -e RABBITMQ_DEFAULT_USER=admin \ -e RABBITMQ_DEFAULT_PASS=admin \ -e RABBITMQ_ERLANG_COOKIE='TUYTLKROKFWQRYREFGBP' \ rabbitmq:3.6.8-management # 进入容器,启动插件、查看集群状态 docker exec -it rabbitmq bash rabbitmqctl cluster_status rabbitmq-plugins enable rabbitmq_management rabbitmq-plugins enable rabbitmq_tracing rabbitmqctl trace_on
25服务器:
# 25服务器,创建容器、启动服务 docker run -d \ --name rabbitmq \ --network host \ --restart=unless-stopped \ --hostname docker-rabbitmq-b-mid-25 \ --add-host=docker-rabbitmq-b-mid-24:172.16.0.24 \ --add-host=docker-rabbitmq-b-mid-25:172.16.0.25 \ --add-host=docker-rabbitmq-b-mid-26:172.16.0.26 \ -v /data/docker/rabbitmq-home/conf:/etc/rabbitmq \ -v /data/docker/rabbitmq-home/data:/var/lib/rabbitmq \ -v /data/docker/rabbitmq-home/log:/var/log/rabbitmq \ -v /etc/localtime:/etc/localtime \ -e RABBITMQ_LOG_BASE=/var/log/rabbitmq \ -e RABBITMQ_LOGS= \ -e RABBITMQ_SASL_LOGS= \ -e RABBITMQ_DEFAULT_USER=admin \ -e RABBITMQ_DEFAULT_PASS=admin \ -e RABBITMQ_ERLANG_COOKIE='TUYTLKROKFWQRYREFGBP' \ rabbitmq:3.6.8-management # 进入容器,启动插件、查看集群状态 docker exec -it rabbitmq bash rabbitmqctl cluster_status rabbitmq-plugins enable rabbitmq_management rabbitmq-plugins enable rabbitmq_tracing rabbitmqctl trace_on # 进入容器,停止rabbitmq、重置、加入集群、启动rabbitmq、查看集群状态 rabbitmqctl stop_app rabbitmqctl reset rabbitmqctl join_cluster rabbit@docker-rabbitmq-b-mid-24 rabbitmqctl start_app rabbitmqctl cluster_status
26服务器:
# 26服务器,创建容器、启动服务 docker run -d \ --name rabbitmq \ --network host \ --restart=unless-stopped \ --hostname docker-rabbitmq-b-mid-26 \ --add-host=docker-rabbitmq-b-mid-24:172.16.0.24 \ --add-host=docker-rabbitmq-b-mid-25:172.16.0.25 \ --add-host=docker-rabbitmq-b-mid-26:172.16.0.26 \ -v /data/docker/rabbitmq-home/conf:/etc/rabbitmq \ -v /data/docker/rabbitmq-home/data:/var/lib/rabbitmq \ -v /data/docker/rabbitmq-home/log:/var/log/rabbitmq \ -v /etc/localtime:/etc/localtime \ -e RABBITMQ_LOG_BASE=/var/log/rabbitmq \ -e RABBITMQ_LOGS= \ -e RABBITMQ_SASL_LOGS= \ -e RABBITMQ_DEFAULT_USER=admin \ -e RABBITMQ_DEFAULT_PASS=admin \ -e RABBITMQ_ERLANG_COOKIE='TUYTLKROKFWQRYREFGBP' \ rabbitmq:3.6.8-management # 进入容器,启动插件、查看集群状态 docker exec -it rabbitmq bash rabbitmqctl cluster_status rabbitmq-plugins enable rabbitmq_management rabbitmq-plugins enable rabbitmq_tracing rabbitmqctl trace_on # 进入容器,停止rabbitmq、重置、加入集群、启动rabbitmq、查看集群状态 rabbitmqctl stop_app rabbitmqctl reset rabbitmqctl join_cluster rabbit@docker-rabbitmq-b-mid-24 rabbitmqctl start_app rabbitmqctl cluster_status
三. 负载均衡配置
- 配置web控制台,协议端口:http_15672;
- 配置amqp,协议端口:tcp_5672;

浙公网安备 33010602011771号