栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

RabbitMQ集群模式的安装(基于Docker)

RabbitMQ集群模式的安装(基于Docker)

rabbitmq 1. 集群模式

RabbitMQ 有三种模式:单机模式,普通集群模式,镜像集群模式。单机模式即单独运行一个 rabbitmq 实例,而集群模式需要创建多个 rabbitmq实例。

1.1 普通集群模式

默认的集群模式。需要创建多个 RabbitMQ 节点。但对于 Queue 和消息来说,只存在于其中一个节点,其他节点仅同步元数据,即队列的结构信息。

1.2 镜像集群模式

把队列做成镜像队列,让各队列存在于多个节点中,属于 RabbitMQ 的高可用性方案。镜像模式和普通模式的不同在于,queue和 message 会在集群各节点之间同步,而不是在 consumer 获取数据时临时拉取。

2. 集群安装 2.1 环境准备

172.16.25.69

172.16.25.70

172.16.25.71

创建mq的hosts文件

vim /mydata/rabbitmq/hosts # 文件中写入以下内容
172.16.25.69 rabbit1 rabbit1
172.16.25.70 rabbit2 rabbit2
172.16.25.71 rabbit3 rabbit3
2.2 拉取镜像
docker pull rabbitmq:3.8.3-management
2.3 创建容器

在172.16.25.69节点上创建容器rabbit1

docker run --restart=always 
-h rabbit1 -d -p 5672:5672 -p 15672:15672 -p 25672:25672 -p 4369:4369 
--name rabbitmq1 
-v /mydata/rabbitmq:/var/lib/rabbitmq:z 
-v /mydata/rabbitmq/hosts:/etc/hosts 
-e RABBITMQ_DEFAULT_USER=admin 
-e RABBITMQ_DEFAULT_PASS=123456 
-e RABBITMQ_ERLANG_cookie='rabbitmq_2021' 
rabbitmq:3.8.3-management

在172.16.25.70节点上创建容器rabbit2

docker run --restart=always 
-h rabbit2 -d -p 5672:5672 -p 15672:15672 -p 25672:25672 -p 4369:4369 
--name rabbitmq2 
-v /mydata/rabbitmq:/var/lib/rabbitmq:z 
-v /mydata/rabbitmq/hosts:/etc/hosts 
-e RABBITMQ_ERLANG_cookie='rabbitmq_2021' 
rabbitmq:3.8.3-management

在172.16.25.71节点上创建容器rabbit3

docker run --restart=always 
-h rabbit3 -d -p 5672:5672 -p 15672:15672 -p 25672:25672 -p 4369:4369 
--name rabbitmq3 
-v /mydata/rabbitmq:/var/lib/rabbitmq:z 
-v /mydata/rabbitmq/hosts:/etc/hosts 
-e RABBITMQ_ERLANG_cookie='rabbitmq_2021' 
rabbitmq:3.8.3-management

参数说明:

-d 表示容器后台运行-h rabbit1 容器的主机名是rabbit1,容器内部的hostname-v /mydata/rabbitmq:/var/lib/rabbitmq:z 将宿主机目录/home/rabbitmq挂载到容器的/var/lib/rabbitmq目录。z是一个标记,在selinux环境下使用-e RABBITMQERLANGcookie=‘rabbit_cluster’ 设置rabbitmq的cookie,该值可以任意设置,只需要三个容器保持一致即可 2.4绑定集群

重置myrabbit1节点

$ docker exec -it rabbitmq1 /bin/bash
$ rabbitmqctl stop_app && rabbitmqctl reset && rabbitmqctl start_app

加入myrabbit2节点到集群中

$ docker exec -it rabbitmq2 /bin/bash
$ rabbitmqctl stop_app && rabbitmqctl reset && rabbitmqctl join_cluster rabbit@rabbit1 && rabbitmqctl start_app

加入myrabbit3节点到集群中

$ docker exec -it rabbitmq3 /bin/bash
$ rabbitmqctl stop_app && rabbitmqctl reset && rabbitmqctl join_cluster rabbit@rabbit1 && rabbitmqctl start_app
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/707001.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号