CentOS7.6 RabbitMQ消息队列集群部署——实施方案

1、前期环境准备(每个主机都配置)

1.准备三台主机

|----------------|-----------|------|
| IP地址 | 主机名 | 内存大小 |
| 192.168.200.10 | rabbitmq1 | 2G |
| 192.168.200.11 | rabbitmq2 | 2G |
| 192.168.200.55 | rabbitmq3 | 2G |

2. 设置主机名
bash 复制代码
hostnamectl set-hostname +主机名

su

exit 

Ctrl+r
3. 设置IP地址然后重启网卡
bash 复制代码
vim /etc/sysconfig/network-scripts/ifcfg-ens33

systemctl restart network
4. 关闭防火墙和selinux
bash 复制代码
systemctl stop firewalld
systemctl disable firewalld
 
 
setenforce 0
 
 
vim /etc/selinux/config 
 
注释加'#' SELINUX=enforcing
 
添加      SELINUX=disabled
5. 配置yum源

案例:配置阿里云的yum源

​​​​​​阿里巴巴开源镜像站-OPSX镜像站-阿里云开发者社区 (aliyun.com)

bash 复制代码
配置外网YUM源 => 阿里云

       第一步:使用cd命令切换到/etc/yum.repos.d目录

              cd /etc/yum.repos.d/

       第二步:对所有的仓库文件进行备份

             tar -zcf repo.tar.gz *.repo

       第三步:删除所有的以.repo结尾的仓库文件

             rm -rf *.repo

       第四步:查询当前服务器有哪些仓库

             yum repolist all

       第五步:配置yum仓库
            1. 清除 yum 的缓存:           yum clean all
            2. 重新生成 yum 的缓存:       yum makecache
            3.查询当前服务器有哪些yum仓库: yum repolist all

二、安装RabbitMQ(每个主机都配置)

1. 安装Erlang
bash 复制代码
 yum -y install erlang
2. 安装RabbitMQ
bash 复制代码
yum install -y rabbitmq-server
3. 修改配置文件
1.将一个 RabbitMQ 配置示例文件复制到 RabbitMQ 的配置目录
bash 复制代码
cp /usr/share/doc/rabbitmq-server-3.3.5/rabbitmq.config.example /etc/rabbitmq/rabbitmq.config
2. 修改配置文件
bash 复制代码
vim /etc/rabbitmq/rabbitmq.config

打开配置文件,53行 去掉注释%%和逗号
4. 安装插件并启动服务
1. 这个命令会启用插件,并且RabbitMQ会自动重启以应用更改
bash 复制代码
rabbitmq-plugins enable rabbitmq_management
2. 为了使这些更改生效,需要重新启动 RabbitMQ 服务
bash 复制代码
systemctl restart rabbitmq-server
5. 查看RabbitMQ 集群的当前状态
bash 复制代码
rabbitmqctl cluster_status

三、设置erlang运行节点

1. 找到erlang cookie文件的位置 (一定要保证三台机器的cookie内容一致)
  • 源码包部署一般会存在.erlang.cookie文件;
  • rpm包部署一般是在/var/lib/rabbitmq/.erlang.cookie。
  • 将 rabbitmq1 的该文件使用rsync或者是scp复制到 rabbitmq2、rabbitmq3,文件权限需要是400。
bash 复制代码
scp /var/lib/rabbitmq/.erlang.cookie  rabbitmq2:/var/lib/rabbitmq/.erlang.cookie

scp /var/lib/rabbitmq/.erlang.cookie  rabbitmq3:/var/lib/rabbitmq/.erlang.cookie
2. 查看.erlang.cookie是否一致
bash 复制代码
cat /var/lib/rabbitmq/.erlang.cookie

3. 重启RabbitMQ服务
bash 复制代码
systemctl restart rabbitmq-server

四、配置rabbitmq2和rabbitmq3

1. 关闭rabbitmq2和rabbitmq3的服务
bash 复制代码
rabbitmqctl stop
2. 启动RabbitMQ服务器并使其在后台运行
bash 复制代码
rabbitmq-server -detached
3. 在Unix/Linux系统中以后台守护进程模式启动RabbitMQ服务器
bash 复制代码
rabbitmq-server -detached
  • 2、3 独立运行节点,warning提示不用理会

  • Warning: PID file not written; -detached was passed.

五、组成集群

1. 查看各个主机节点状态
bash 复制代码
rabbitmqctl cluster_status
2. 将rabbitmq2、rabbitmq3加入到rabbitmq1中组成集群
  1. 配置rabbitmq2
bash 复制代码
rabbitmqctl stop_app

仅停止应用,不关闭节点

2.将一个RabbitMQ2节点加入到已经存在的RabbitMQ1集群中

bash 复制代码
rabbitmqctl join_cluster rabbit@rabbitmq1
  1. 启动RabbitMQ应用程序
bash 复制代码
rabbitmqctl start_app
  1. 将RabbitMQ2节点加入到已存在的集群中
bash 复制代码
rabbitmqctl join_cluster --ram rabbit@rabbitmq1
  1. 配置rabbitmq2
bash 复制代码
rabbitmqctl stop_app

仅停止应用,不关闭节点

6.将一个RabbitMQ3节点加入到已经存在的RabbitMQ1集群中

bash 复制代码
rabbitmqctl join_cluster rabbit@rabbitmq1
  1. 启动RabbitMQ应用程序
bash 复制代码
rabbitmqctl start_app
  1. 将RabbitMQ3节点加入到已存在的集群中
bash 复制代码
rabbitmqctl join_cluster --ram rabbit@rabbitmq1
3. 在任意节点上查看集群状态
bash 复制代码
 rabbitmqctl cluster_status

六、访问测试

1. 访问192.168.200.10

地址为rabbitMQ所在服务器的地址

端口号:15672

bash 复制代码
http://192.168.200.10:15672
2. 默认账号密码:guest/guest
3. 进入主页面
4. 添加一个用户
4. 观察第二台主机
5. 观察第三台主机
相关推荐
_下雨天.4 小时前
LVS负载均衡
服务器·负载均衡·lvs
小成202303202657 小时前
Linux高级02
linux·开发语言
mounter6257 小时前
【硬核前沿】CXL 深度解析:重塑数据中心架构的“高速公路”,Linux 内核如何应对挑战?-- CXL 协议详解与 LSF/MM 最新动态
linux·服务器·网络·架构·kernel
++==7 小时前
Linux 进程间通信与线程同步技术详解:IPC 机制、线程 API、同步工具与经典同步问题
linux
特长腿特长7 小时前
centos、ubantu系列机的用户和用户组的结构是什么?具体怎么配置?用户组权限怎么使用?这篇文章持续更新,帮助你复习linux的基础知识
linux·运维·centos
zzzyyy5387 小时前
Linux环境变量
linux·运维·服务器
pluvium278 小时前
记对 xonsh shell 的使用, 脚本编写, 迁移及调优
linux·python·shell·xonsh
无级程序员8 小时前
centos7 安装 llvm-toolset-7-clang出错的问题解决
linux·centos
kebeiovo8 小时前
atomic原子操作实现无锁队列
服务器·c++
赛博云推-Twitter热门霸屏工具9 小时前
Twitter运营完整流程:从0到引流获客全流程拆解(2026)
运维·安全·自动化·媒体·twitter