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

三. 负载均衡配置

  1. 配置web控制台,协议端口:http_15672;
  2. 配置amqp,协议端口:tcp_5672;

 

posted @ 2022-08-06 15:43  MR船长  阅读(219)  评论(0)    收藏  举报