RabbitMQ普通集群搭建指南

RabbitMQ普通集群搭建指南

本文已经完全迁移至,www.geekery.cn 后续不在此更新

目标架构

本次搭建的目标是构建一个由三个节点组成的RabbitMQ集群,节点信息如下:

  • rabbit02: IP地址 192.168.10.132
  • rabbit03: IP地址 192.168.10.133
  • rabbit04: IP地址 192.168.10.134

预备工作

在开始之前,确保所有节点上都已安装RabbitMQ Server。如果尚未安装,可以通过以下命令进行安装:

yum install -y epel-release
yum install -y rabbitmq-server

同时,设置主机名和修改/etc/hosts文件以正确解析各节点的名称。

同步.erlang.cookie

为了允许节点间通信,需要确保所有节点上的.erlang.cookie文件内容相同。使用以下命令从rabbit02节点复制cookie到其他节点

[root@rabbit02 ~]# scp /var/lib/rabbitmq/.erlang.cookie rabbit03:/var/lib/rabbitmq/
The authenticity of host 'rabbit03 (192.168.10.133)' can't be established.
ECDSA key fingerprint is SHA256:ImtbIE2DzY9M7yqwTDfMn3EzHOjk0CGowUigMe00exk.
ECDSA key fingerprint is MD5:23:d8:46:37:71:8b:e3:56:d1:48:d4:f5:a9:64:80:f0.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'rabbit03,192.168.10.133' (ECDSA) to the list of known hosts.
root@rabbit03's password: 
.erlang.cookie                                                                                                                                             100%   20    24.5KB/s   00:00    
[root@rabbit02 ~]# scp /var/lib/rabbitmq/.erlang.cookie rabbit04:/var/lib/rabbitmq/
The authenticity of host 'rabbit04 (192.168.10.134)' can't be established.
ECDSA key fingerprint is SHA256:ImtbIE2DzY9M7yqwTDfMn3EzHOjk0CGowUigMe00exk.
ECDSA key fingerprint is MD5:23:d8:46:37:71:8b:e3:56:d1:48:d4:f5:a9:64:80:f0.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'rabbit04,192.168.10.134' (ECDSA) to the list of known hosts.
root@rabbit04's password: 
.erlang.cookie                                                                                                                                             100%   20    21.1KB/s   00:00    
[root@rabbit02 ~]# 

集群配置

rabbit03rabbit04上执行以下步骤:

[root@rabbit03 ~]# rabbitmqctl stop_app
Stopping node rabbit@rabbit03 ...
...done.
[root@rabbit03 ~]# rabbitmqctl reset
Resetting node rabbit@rabbit03 ...
...done.
[root@rabbit03 ~]# systemctl stop firewalld
[root@rabbit03 ~]# rabbitmqctl join_cluster --ram rabbit@rabbit02
Clustering node rabbit@rabbit03 with rabbit@rabbit02 ...
...done.
[root@rabbit04 ~]# rabbitmqctl stop_app
Stopping node rabbit@rabbit04 ...
...done.
[root@rabbit04 ~]# systemctl stop firewalld
[root@rabbit04 ~]# rabbitmqctl stop_app
Stopping node rabbit@rabbit04 ...
...done.
[root@rabbit04 ~]# rabbitmqctl reset
Resetting node rabbit@rabbit04 ...
...done.
[root@rabbit04 ~]# rabbitmqctl join_cluster --ram rabbit@rabbit02
Clustering node rabbit@rabbit04 with rabbit@rabbit02 ...
...done.

最终确认

rabbit02上执行以下步骤来确认集群状态:

这表明集群已经成功建立,并且rabbit02作为磁盘节点,rabbit03rabbit04作为RAM节点加入了集群。

[root@rabbit02 ~]# rabbitmqctl cluster_status
Cluster status of node rabbit@rabbit02 ...
[{nodes,[{disc,[rabbit@rabbit02]},{ram,[rabbit@rabbit04,rabbit@rabbit03]}]},{running_nodes,[rabbit@rabbit02]},{cluster_name,<<"rabbit@rabbit02">>},{partitions,[]}]
...done.
[root@rabbit02 ~]# [root@rabbit03 ~]# rabbitmqctl cluster_status
Cluster status of node rabbit@rabbit03 ...
[{nodes,[{disc,[rabbit@rabbit02]},{ram,[rabbit@rabbit03]}]}]
...done.
[root@rabbit03 ~]# [root@rabbit03 ~]# rabbitmqctl cluster_status
Cluster status of node rabbit@rabbit03 ...
[{nodes,[{disc,[rabbit@rabbit02]},{ram,[rabbit@rabbit03]}]}]
...done.

END

一些有用没用的历史命令!!!可以不用看了

yum install -y epel* ;yum install -y rabbitmq-server
vi /etc/hosts
hostnamectl set-hostname rabbit02
vi /etc/hosts
find / -name *.cookie
man rabbitmq-server
rabbitmq-server -detached
scp /var/lib/rabbitmq/.erlang.cookie rabbit03:/var/lib/rabbitmq/
scp /var/lib/rabbitmq/.erlang.cookie rabbit04:/var/lib/rabbitmq/
systemctl status rabbitmq-server
systemctl restart rabbitmq-server.service
systemctl status rabbitmq-server.service
chmod 400 /var/lib/rabbitmq/.erlang.cookie
systemctl restart rabbitmq-server.service
systemctl status rabbitmq-server.service
find / -name *.cookie
systemctl stop firewalld
rabbitmqctl cluster_status
history yum install -y epel* ;yum install -y rabbitmq-server
hostnamectl set-hostname rabbit03
vi /etc/hostsrabbitmq-server -detached
chmod 400 /var/lib/rabbitmq/.erlang.cookie
systemctl restart rabbitmq-server.service
systemctl status rabbitmq-server.service
systemctl restart rabbitmq-server.service
systemctl status rabbitmq-server.service
chmod 400 /var/lib/rabbitmq/.erlang.cookie
systemctl restart rabbitmq-server.service
rabbitmq-server -detached 
systemctl start rabbitmq-server.service
systemctl status rabbitmq-server.service
ps -ef | grep rabbit
kill -9 1969 
ps -ef | grep rabbit
kill -9 1999
ps -ef | grep rabbit
systemctl start rabbitmq-server.service
systemctl status rabbitmq-server.service
rabbitmqctl stop_app
rabbitmqctl reset
rabbitmqctl join_cluster --ram rabbit@rabbit02
systemctl stop firewalld
rabbitmqctl join_cluster --ram rabbit@rabbit02
rabbitmqctl cluster_status
history yum install -y epel* ;yum install -y rabbitmq-server
hostnamectl set-hostname rabbit04
vi /etc/hostsrabbitmq-server -detached
chmod 400 /var/lib/rabbitmq/.erlang.cookie
systemctl restart rabbitmq-server
systemctl status rabbitmq-server
rabbitmq-server -detached
systemctl status rabbitmq-server
systemctl restart rabbitmq-server
find / -name *.cookie
ps -ef | grep rabbit
kill -9  1960 1990  
ps -ef | grep rabbit
systemctl restart rabbitmq-server
systemctl status rabbitmq-server
rabbitmqctl stop_app
systemctl stop firewalld
rabbitmqctl stop_app
rabbitmqctl reset
rabbitmqctl join_cluster --ram rabbit@rabbit02
rabbitmqctl cluster_status

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/49284.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

LLM推理优化

vLLM的Paged Attention: vLLM: Easy, Fast, and Cheap LLM Serving with PagedAttention | vLLM Blog S-LoRA: S-LoRA: Serving Thousands of Concurrent LoRA Adapters (arxiv.org)

IDEA打开终端报错Cannot open Local Terminal命令行功能

idea项目中不能打开命令行功能 IDEA打开终端报错Cannot open Local Terminal 意思是打开命令行发生错误 idea上配置shell终端&#xff0c;命令行页面 打开右上角 File–> setting–> Tools–> 终端 找到Shell 路径 文本框中原本是是powershell.exe&#xff0c;现在…

SpringSecurity如何正确的设置白名单

在SpringSecurity中,往往需要对部分接口白名单访问,而大部分在使用Security中就有一个误区,那就是免鉴权访问和白名单的区别。 大部分的Security文章包括官方文档给出免鉴权访问都是使用.permitAll()去对相应路径进行免鉴权访问,但实际上这仅仅只表示该资源不需要相应的权限访问…

【云原生】Kubernetes 中的 PV 和 PVC 介绍、原理、用法及实战案例分析

✨✨ 欢迎大家来到景天科技苑✨✨ &#x1f388;&#x1f388; 养成好习惯&#xff0c;先赞后看哦~&#x1f388;&#x1f388; &#x1f3c6; 作者简介&#xff1a;景天科技苑 &#x1f3c6;《头衔》&#xff1a;大厂架构师&#xff0c;华为云开发者社区专家博主&#xff0c;…

C语言实现数据结构线性表之顺序栈

来一个C语言版本链表完整操作 #include<stdio.h>#define MAXLEN 100 /*顺序栈存储空间的总分配量*/ typedef int DataType; /*定义DataType为int类型*/ typedef struct /*顺序栈存储类型*/ { DataType data[MAXLEN]; /…

FPGA与ASIC:深入解析芯片设计的双子星

前言 在半导体世界里&#xff0c;FPGA&#xff08;Field-Programmable Gate Array&#xff0c;现场可编程门阵列&#xff09;与ASIC&#xff08;Application-Specific Integrated Circuit&#xff0c;专用集成电路&#xff09;是两种截然不同的芯片设计策略&#xff0c;各自在…

【ubuntu】目录下文件太多导致rm指令无法执行问题解决方法

目录下文件太多导致rm指令无法执行问题解决方法 背景 设备在实际运行中生成大量小文件&#xff0c;在一定条件下需要删除全部文件&#xff0c;由于文件过多无法运行rm指令&#xff0c;如何来删除文件那&#xff1f; 使用rsync删除文件 在Ubuntu系统上&#xff0c;rsync 是一…

【JavaScript】点击穿透

点击穿透是指在某些场景下&#xff0c;⽤户在快速点击⻚⾯元素时&#xff0c;由于某些原因&#xff08;例如⽹络延迟&#xff09;&#xff0c; 在前⼀个元素上的点击事件还没有完成时&#xff0c;下⼀个元素的点击事件就已经触发了&#xff0c;导致⽤户感 觉到⻚⾯点击⽆效或者…

Facebook的创新之路:科技驱动的社交革命

Facebook自2004年创立以来&#xff0c;已经从一个大学校园内的社交网站发展成为全球最大的社交媒体平台。其成功的背后&#xff0c;不仅仅是广泛的用户基础和高效的运营模式&#xff0c;更在于其不断推进的技术创新。本文将探讨Facebook在技术创新方面的诸多努力&#xff0c;如…

数据结构:基本概念

基本概念 1. 数据&#xff08;Data&#xff09;2. 数据元素&#xff08;Data Element&#xff09;3. 数据项&#xff08;Data Item&#xff09;4. 数据对象&#xff08;Data Object&#xff09;5. 数据结构&#xff08;Data Structure&#xff09;具体示例总结 在数据结构中&am…

C#入门与精通

C#精通 本文章主要是对于学习C#基础难点进行学习以及与java语言的不同点&#xff0c;详细学习可见官网&#xff1a;https://dotnet.microsoft.com/en-us/learn 文章目录 C#精通VSVS基本设置 C#是什么C#程序控制台输出变量内插占位符C#foreach循环类型转换操作数组内置方法格式设…

Python爬虫(5) --爬取网页视频

文章目录 爬虫爬取视频指定url发送请求UA伪装请求页面 获取想要的数据解析定位定位音视频位置 存放视频完整代码实现总结 爬虫 Python 爬虫是一种自动化工具&#xff0c;用于从互联网上抓取网页数据并提取有用的信息。Python 因其简洁的语法和丰富的库支持&#xff08;如 requ…

数据结构--二叉树详解

一&#xff0c;概念 1&#xff0c;结点的度&#xff1a;一个结点含有子树的个数称为该结点的度 2&#xff0c; 树的度&#xff1a;一棵树中&#xff0c;所有结点度的最大值称为树的度&#xff1b; 3&#xff0c;叶子结点或终端结点&#xff1a;度为0的结点称为叶结点&#x…

go语言Gin框架的学习路线(十一)

目录 GORM的CRUD教程 更新操作 更新所有字段 更新指定字段 使用 Select 和 Omit 更新 无 Hooks 更新 批量更新 删除操作 删除记录 批量删除 软删除 物理删除 示例代码 GORM的CRUD教程 CRUD 是 "Create, Read, Update, Delete"&#xff08;创建、查询、…

VBA OneDrive下的ThisWorkbook.Path

OneDrive下的ThisWorkbook.Path Dim strPath As StringIf InStr(ThisWorkbook.Path, "https://myoffice") > 0 ThenstrPath Environ("OneDrive") & Mid(ActiveWorkbook.Path, Application.Find("", Application.Substitute(ActiveWorkbo…

Hyperledger顶级项目特点和介绍

Hyperledger的顶级项目 Hyperledger是Linux基金会主持的开源区块链项目&#xff0c;其目的是推动跨行业的区块链技术的开发和应用。以下是Hyperledger的顶级项目&#xff1a; 1. Hyperledger Fabric 描述&#xff1a;Hyperledger Fabric是一个可扩展的企业级区块链平台&…

新手小白的pytorch学习第八弹------分类问题模型和简单预测

目录 1 启动损失函数和优化器2 训练模型创建训练和测试循环 3 预测和评估模型 这篇是接着新手小白的pytorch学习第七弹------分类问题模型这一篇的&#xff0c;代码也是哟~ 1 启动损失函数和优化器 对于我们的二分类问题&#xff0c;我们经常使用 binary cross entropy 作为损…

一文讲透useMemo和useCallback

在React项目中是经常会使用到useMemo&#xff0c;useCallBack的&#xff0c;这是两个优化性能的方法&#xff0c;那么useMemo&#xff0c;useCallBack到底是什么呢&#xff1f;什么时候用呢&#xff1f; 下面将给打击分享相关知识&#xff0c;希望对大家有所帮助同时欢迎讨论指…

【java基础】spring中使用到的设计模式

Spring框架在其设计和实现中使用了多种设计模式&#xff0c;这些模式帮助Spring框架保持灵活性、可扩展性和易于集成的特点。以下是一些在Spring框架中常见和重要的设计模式&#xff1a; 工厂模式&#xff08;Factory Pattern&#xff09; Spring的核心容器使用了工厂模式&…

Redis在SpringBoot中配置

lettuce redis的使用方法有两种&#xff0c;jedis和lecttuce&#xff0c;jedis用的不是很多&#xff0c;下面讲解用lettuce的使用方法。 首先导包&#xff1a; <!--redis依赖--> <dependency><groupId>org.springframework.boot</groupId><artif…