From 78df3da8a8dcf9ddcaf1fc39827399bf689f7c9a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BE=90=E5=8B=A4=E6=B0=91?= Date: Wed, 31 Jul 2024 14:35:43 +0800 Subject: [PATCH] =?UTF-8?q?=E5=BE=AE=E8=B0=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- RabbitMQ集群部署.md | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/RabbitMQ集群部署.md b/RabbitMQ集群部署.md index b15eb8a..063ad17 100644 --- a/RabbitMQ集群部署.md +++ b/RabbitMQ集群部署.md @@ -1,6 +1,6 @@ [TOC] -# 集群概述 +## 集群概述 ### 计划部署3节点的mq集群: @@ -10,13 +10,13 @@ | mq2 | 8082 ---->15672 | 8072---->5672 | | mq3 | 8083 ---->15672 | 8073---->5672 | -# 获取cookie +## 获取cookie > RabbitMQ底层依赖于Erlang,而Erlang虚拟机就是一个面向分布式的语言,默认就支持集群模式。集群模式中的每个RabbitMQ 节点使用 cookie 来确定它们是否被允许相互通信。 > 要使两个节点能够通信,它们必须具有相同的共享秘密,称为Erlang cookie。 > 每个集群节点必须具有相同的 cookie。实例之间也需要它来相互通信。 -##### 先创建一个mq容器,然后获取这个mq容器的cookie,作为之后mq集群的cookie: +#### 先创建一个mq容器,然后获取这个mq容器的cookie,作为之后mq集群的cookie: ```bash docker run -d -e RABBITMQ_DEFAULT_USER=root -e RABBITMQ_DEFAULT_PASS=root --name mq --hostname mq -p 8074:5672 -p 8084:15672 rabbitmq @@ -26,13 +26,13 @@ docker run -d -e RABBITMQ_DEFAULT_USER=root -e RABBITMQ_DEFAULT_PASS=root --name docker exec -it mq cat /var/lib/rabbitmq/.erlang.cookie ``` -##### 得到cookie如下: +#### 得到cookie如下: ```bash DFPDFJPEQOYLQYMOSKNE ``` -##### 接下来,停止并删除当前的mq容器: +#### 接下来,停止并删除当前的mq容器: ```bash docker rm -f mq @@ -40,7 +40,7 @@ docker rm -f mq -# 准备集群配置 +## 准备集群配置 ##### 在虚拟机中新建一个目录 `/rabbitmq` 来存放集群的配置文件: @@ -79,7 +79,7 @@ chmod 600 .erlang.cookie ![](.\images\集群文件目录.png) -然后拷贝rabbitmq.conf、cookie文件到mq1、mq2、mq3: +##### 然后拷贝rabbitmq.conf、cookie文件到mq1、mq2、mq3: ```bash # 进入/rabbitmq @@ -93,7 +93,7 @@ cp .erlang.cookie mq2 cp .erlang.cookie mq3 ``` -# 启动集群 +## 启动集群 ##### 创建一个网络: @@ -148,7 +148,7 @@ rabbitmq:3.13-rc-management docker ps ``` -# 测试 +## 测试 ##### 通过8081端口访问mq1,可以看到集群状态: @@ -158,7 +158,7 @@ docker ps ![image-20230907150902619](E:\XuqmProjects2\ImGroup\images\集群部署情况.png) -# 镜像模式 +## 镜像模式 ##### 一旦创建队列的主机宕机,队列就会不可用。不具备高可用能力。