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

news/2024/11/14 2:58:48/

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

1.准备三台主机
IP地址主机名内存大小
192.168.200.10

rabbitmq1

2G
192.168.200.11rabbitmq22G
192.168.200.55rabbitmq32G
 2. 设置主机名
hostnamectl set-hostname +主机名suexit Ctrl+r
3. 设置IP地址然后重启网卡
vim /etc/sysconfig/network-scripts/ifcfg-ens33systemctl restart network
linux">4. 关闭防火墙和selinux
systemctl stop firewalld
systemctl disable firewalldsetenforce 0vim /etc/selinux/config 注释加'#' SELINUX=enforcing添加      SELINUX=disabled
5.  配置yum源 

案例:配置阿里云的yum源
​​​​​​阿里巴巴开源镜像站-OPSX镜像站-阿里云开发者社区 (aliyun.com)       

配置外网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 all2. 重新生成 yum 的缓存:       yum makecache3.查询当前服务器有哪些yum仓库: yum repolist all

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

1. 安装Erlang
 yum -y install erlang
2. 安装RabbitMQ
yum install -y rabbitmq-server
3. 修改配置文件
1.将一个 RabbitMQ 配置示例文件复制到 RabbitMQ 的配置目录
cp /usr/share/doc/rabbitmq-server-3.3.5/rabbitmq.config.example /etc/rabbitmq/rabbitmq.config
2. 修改配置文件
vim /etc/rabbitmq/rabbitmq.config打开配置文件,53行 去掉注释%%和逗号

4. 安装插件并启动服务
 1. 这个命令会启用插件,并且RabbitMQ会自动重启以应用更改
rabbitmq-plugins enable rabbitmq_management
2. 为了使这些更改生效,需要重新启动 RabbitMQ 服务
systemctl restart rabbitmq-server
5. 查看RabbitMQ 集群的当前状态
rabbitmqctl cluster_status

三、设置erlang运行节点

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

3. 重启RabbitMQ服务
systemctl restart rabbitmq-server

四、配置rabbitmq2和rabbitmq3

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

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

五、组成集群

1. 查看各个主机节点状态
rabbitmqctl cluster_status
2. 将rabbitmq2、rabbitmq3加入到rabbitmq1中组成集群

1. 配置rabbitmq2

rabbitmqctl stop_app

仅停止应用,不关闭节点

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

rabbitmqctl join_cluster rabbit@rabbitmq1

3. 启动RabbitMQ应用程序

rabbitmqctl start_app

4. 将RabbitMQ2节点加入到已存在的集群中

rabbitmqctl join_cluster --ram rabbit@rabbitmq1

5. 配置rabbitmq2

rabbitmqctl stop_app

仅停止应用,不关闭节点

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

rabbitmqctl join_cluster rabbit@rabbitmq1

7. 启动RabbitMQ应用程序

rabbitmqctl start_app

 8. 将RabbitMQ3节点加入到已存在的集群中

rabbitmqctl join_cluster --ram rabbit@rabbitmq1
3. 在任意节点上查看集群状态
 rabbitmqctl cluster_status

 六、访问测试

1. 访问192.168.200.10

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

    端口号:15672

http://192.168.200.10:15672

2. 默认账号密码:guest/guest

3. 进入主页面

4. 添加一个用户

4. 观察第二台主机  

5. 观察第三台主机


http://www.ppmy.cn/news/1509084.html

相关文章

20240810从串口查看荣品RK3588S-AHD开发板出厂预置的Android的版本

20240810从串口查看荣品RK3588S-AHD开发板出厂预置的Android的版本 2024/8/10 16:46 1、通过串口: console:/ # console:/ # getprop ro.build.version.release 13 console:/ # 【请严重注意,adb的那条USB2.0的公公线,一定要插到蓝色的USB3…

高等数学/概率论/数理统计/线性代数/离散数学面试-核心概念-问题理解

目录 1.特征值与特征向量 2.矩阵的秩,满秩代表什么?怎么判断满秩? 3.奇异值分解 4.正定矩阵 5.线性相关和线性无关 6.全概率公式与贝叶斯公式 7.极大似然估计 8.大数定律与中心极限定理 9.傅立叶变换 10.连续与可导有什么关系&#…

Open3D 计算点云的协方差矩阵(原理详细版)

目录 一、概述 1.1协方差矩阵的定义 1.2实现步骤 1.3应用 二、代码实现 1.1实现代码 2.2协方差应用案例 2.2.1主成分分析法的应用 2.2.2平面拟合 三、疑问解答 3.1为什么计算协方差矩阵要去质心? 3.1.1原因 3.1.2区别 Open3D点云算法汇总及实战案例汇总…

【数学分析笔记】第1章第2节:映射与函数(3)

1. 集合与映射 1.15.4 函数的参数表示 自变量 x x x和因变量 y y y不好直接表示,可以引入参数 t t t,则 { x x ( t ) y y ( t ) , t ∈ [ a , b ] \left\{\begin{array}{ll} xx(t) \\ yy(t) \end{array}\right.,t\in[a,b] {xx(t)yy(t)​,t∈[a,b]&am…

HTTP的场景实践

HTTP的场景实践:任选一个浏览器,对于其涉及的请求中的缓存策略展开具体分析 1. 强缓存: Cache-Control用于指定缓存的最长有效时间。 Expires用于指定资源过期的日期。 2. 协商缓存: ETag用于标识资源的唯一标识符,…

vue3 中 ref 使用 ts 中的接口定义类型

在 Vue 3 中,当使用 TypeScript 结合 ref 时,可以通过接口来定义其类型。 首先,定义一个接口: interface User {name: string;age: number;} 然后在组件中使用 ref : import { ref } from "vue";const u…

简单介绍一下css中transform的内容

在CSS中,transform属性用于对元素进行变换,包括旋转、缩放、倾斜和平移等操作。以下是transform属性中常用的属性: translate:用于元素的平移操作,可以指定元素在X轴和Y轴方向上的平移距离。 rotate:用于元…

配置MySQL主从,配置MySQL主主 +keeplive高可用

在大数据-Hadoop体系中 配置MySQL主主keeplive高可用 注意:这个是我两年前的word文档,可以当作参考文档有个思路参考一下,但是里面可能有些地方有误 另外,我当年参考了这几位老哥的文档 1,Mysql—主从、主主、主备模…