CentOS系统用docker搭建rabbitMQ集群


前言

因项目需要使用RabbitMQ来进行模块之前的消息传递,且之前未有相关的经验,所以特此记录下RabbitMQ集群的搭建及调试过程。另外简单的介绍下RabbitMQ的两种集群模式,即普通模式与镜像模式,这两种模式的区别就是在于普通模式仅会同步元数据,当消费消息时,如果连接到了另外一个实例,那么那个实例会通过元数据定位到队列所在位置,然后访问队列所在的实例,拉取数据过来发送给消费者;而集群模式会同步所有的副本数据,每次写入消息时都会自动把数据同步到多台实例上去。


一、环境准备

  1. 两台云服务器(centos7.5-丐版-1核2G),若没有,可用虚拟机。
    两台服务器ip如下:
    机器1:1.117.251.181
    机器2:121.36.159.27
  2. 已有docker镜像,本人用的镜像为:rabbitmq:3.7.16-management
    在这里插入图片描述

二、部署RabbitMQ

1.在机器1上安装RabbitMQ

执行命令

docker run  -d --hostname rabbitmq1 --add-host=rabbitmq2:121.36.159.27 --restart=unless-stopped --name rabbitmq1 --net host -p 15672:15672 -p 5672:5672 -e RABBITMQ_DEFAULT_USER=admin -e RABBITMQ_DEFAULT_PASS=admin -e RABBITMQ_ERLANG_COOKIE='rabbit_mq_2022' rabbitmq:3.7.16-management

部分参数解释

--hostname rabbitmq1 容器的主机名为 rabbitmq1

--add-host=rabbitmq2:121.36.159.27  修改容器内部的hosts

--restart=unless-stopped docker 容器重启后重启MQ

--name rabbitmq1 容器名为rabbitma1

-e RABBITMQ_DEFAULT_USER=admin 设置rabbitmq默认用户为admin

-e RABBITMQ_DEFAULT_PASS=admin 设置rabbitmq默认密码为admin

-e RABBITMQ_ERLANG_COOKIE='rabbit_mq_2022' 设置rabbitmq的cookie为“rabbit_mq_2022”,可以自定义为其他文本,容器保持一致即可

docker ps -a ,查看容器状态

在这里插入图片描述

浏览器输入RabbitMQ管理地址

在这里插入图片描述

2.在机器2上安装RabbitMQ

执行命令

docker run  -d --hostname rabbitmq2 --add-host=rabbitmq1:1.117.251.181 --restart=unless-stopped --name rabbitmq2 --net host -p 15672:15672 -p 5672:5672 -e RABBITMQ_DEFAULT_USER=admin -e RABBITMQ_DEFAULT_PASS=admin -e RABBITMQ_ERLANG_COOKIE='rabbit_mq_2022' rabbitmq:3.7.16-management

docker ps -a ,查看容器状态

在这里插入图片描述

浏览器输入RabbitMQ管理地址

在这里插入图片描述

tips: 对于有云服务器的朋友,这边的话需要在云服务器的控制台配置对应的防火墙(安全组)策略,需要将5672、15672、25672、4369配置进去。

三、搭建普通集群模式

1.rabbitmq1容器配置

进入容器


                
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值