rabbitmq镜像集群搭建

用到的ip地址

ip地址端口
192.168.101.65(主)15672
192.168.101.7515672
192.168.101.8515672

安装erlang和rabbitmq

安装

安装三个包
yum install esl-erlang_23.0-1_centos_7_amd64.rpm -y
yum install esl-erlang-compat-18.1-1.noarch.rpm -y
rpm -ivh rabbitmq-server-3.8.9-1.el7.noarch.rpm

启动rabbitmq和web插件

rabbitmq启动失败

[root@rabbitmq01 rabbitmq]# journalctl -xe
8月 17 14:02:03 rabbitmq01 rabbitmq-server[27206]: {{shutdown,
8月 17 14:02:03 rabbitmq01 rabbitmq-server[27206]: 14:02:03.632 [error]                    {failed_to_start_child,auth,
8月 17 14:02:03 rabbitmq01 rabbitmq-server[27206]: 14:02:03.632 [error]                        {"Error when reading /var/lib/rabbitmq/.erlang.cookie: eacces",
8月 17 14:02:03 rabbitmq01 rabbitmq-server[27206]: {failed_to_start_child,auth,
8月 17 14:02:03 rabbitmq01 rabbitmq-server[27206]: {"Error when reading /var/lib/rabbitmq/.erlang.cookie: eacces",
8月 17 14:02:03 rabbitmq01 rabbitmq-server[27206]: [{auth,init_cookie,0,[{file,"auth.erl"},{line,290}]},

rabbitmq没有读取.erlang.cookie的权限,修改权限所有者

chown rabbitmq:rabbitmq /var/lib/rabbitmq/.erlang.cookie

配置镜像集群

修改映射文件

vi /etc/hosts

添加

192.168.101.65 rabbitmq01
192.168.101.75 rabbitmq02
192.168.101.85 rabbitmq03

重启网络服务

service network restart

修改主机名(不要在集群启动后再去修改,会让集群节点名称是根据主机名来的,中途改掉会报错)

hostnamectl set-hostname new_hostname(rabbitmq01/0/03)

同步 rabbitmq的cookie 文件.erlang.cookie (隐藏文件,使用 ls -all 显示)

scp /var/lib/rabbitmq/.erlang.cookie 192.168.101.75:/var/lib/rabbitmq
scp /var/lib/rabbitmq/.erlang.cookie 192.168.101.85:/var/lib/rabbitmq

75和85重启rabbitmq-server

systemctl restart rabbitmq-server

75和85加入集群

rabbitmqctl stop_app
rabbitmqctl join_cluster rabbit@rabbitmq01
rabbitmqctl start_app

在这里插入图片描述
在这里插入图片描述

如果中途在主节点删过从节点,但是从节点没有重置,又再次想加入主节点,会报下面的错

[root@rabbitlocalhost miaoruntu]# rabbitmqctl join_cluster rabbit@rabbitmq01
Clustering node rabbit@rabbitlocalhost with rabbit@rabbitmq01
Error:
{:inconsistent_cluster, 'Node rabbit@rabbitmq01 thinks it's clustered with node rabbit@rabbitlocalhost, but rabbit@rabbitlocalhost disagrees'}

在从节点重置,再重新加入主节点

rabbitmqctl stop_app
rabbitmqctl reset
rabbitmqctl join_cluster rabbit@rabbitmq01
rabbitmqctl start_app

添加用户

rabbitmqctl add_user supeizhi 123
rabbitmqctl set_user_tags supeizhi administrator
rabbitmqctl set_permissions -p "/" supeizhi ".*" ".*" ".*"

设置镜像策略
pattern:“^queue_” 表示对队列名称以“queue_”开头的所有队列镜像,而"^"表示匹配所有的队列
definition:镜像定义,包括三个部分ha-mode, ha-params, ha-sync-mode
ha-mode:高可用模式,有效值为 all/exactly/nodes,策略模式为 all(复制到所有节点,包含新增节点)

在这里插入图片描述

创建队列
在这里插入图片描述

点击testQueue发送消息
在这里插入图片描述

后面蓝色的+2表示有两个消息节点,total1表示消息发送成功
在这里插入图片描述

将节点01停掉

rabbitmqctl stop_app

后面蓝色变成+1没有了
在这里插入图片描述
将节点03停掉,后面没有从节点了

在这里插入图片描述

在这里插入图片描述

启动01和03节点(鼠标过去会显示节点未同步)
在这里插入图片描述

同步队列

rabbitmqctl sync_queue testQueue

在这里插入图片描述
在这里插入图片描述

变回蓝色
在这里插入图片描述

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

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

相关文章

探索CompletableFuture:高效异步编程的利器

目录 一、CompletableFuture基本功能安利 二、CompletableFuture使用介绍 (一)任务创建使用 1.supplyAsync创建带有返回值的异步任务 2.runAsync创建没有返回值的异步任务 (二)异步回调使用 1.异步回调:thenApp…

基于Sringboot+Vue个人驾校预约管理系统--论文pf

TOC springboot503基于SringbootVue个人驾校预约管理系统--论文pf 第1章 绪论 1.1选题动因 当前的网络技术,软件技术等都具备成熟的理论基础,市场上也出现各种技术开发的软件,这些软件都被用于各个领域,包括生活和工作的领域。…

XSS-games

XSS 1.XSS 漏洞简介2.XSS的原理3.XSS的攻击方式4.XSS-GAMESMa SpaghetJefffUgandan KnucklesRicardo MilosAh Thats HawtLigmaMafiaOk, BoomerWW3svg 1.XSS 漏洞简介 ​ XSS又叫CSS(Cross Site Script)跨站脚本攻击是指恶意攻击者往Web页面里插入恶意Sc…

Nginx服务器申请及配置免费SSL证书

免费SSL证书申请 背景: 我的情况是这样,域名解析是华为云的,然后免费证书在腾讯云申请。但是大致的配置流程都是一样的 在腾讯云平台申请免费的SSL证明(目前有效期是90天),申请步骤如下 主要步骤说明 申请免费SSL证书根据申请时说…

对商品评论进行文本分析(NLP)的实战项目

文本分析技术是指使用计算机程序或算法处理、分析和理解文本数据的一系列方法。这种技术在自然语言处理(NLP)领域中非常重要,它可以应用于多种场景,包括但不限于情感分析、主题识别、信息提取、文本分类等。以下是一些常见的文本分…

如何在本地和远程删除 Git 分支?

如何在本地和远程删除 Git 分支? 欢迎来到英杰社区https://bbs.csdn.net/topics/617804998 欢迎来到我的主页,我是博主英杰,211科班出身,就职于医疗科技公司,热衷分享知识,武汉城市开发者社区主理人 擅长.n…

江西学术会议:第五届计算机、大数据与人工智能国际会议

第五届计算机、大数据与人工智能国际会议(ICCBDAI 2024)将于2024年11月1日-3日在江西景德镇召开。本届会议由景德镇陶瓷大学主办,西安交通大学、暨南大学、南京邮电大学、景德镇学院、ELSP(爱迩思出版社)、ESBK国际学术交流中心、AC学术平台协…

Transformer模型中的Position Embedding实现

引言 在自然语言处理(NLP)中,Transformer模型自2017年提出以来,已成为许多任务的基础架构,包括机器翻译、文本摘要和问答系统等。Transformer模型的核心之一是其处理序列数据的能力,而Position Embedding在…

你是如何克服编程学习中的挫折感的?(-@-^-0-)

在编程学习中遇到挫折感是极为常见且正常的现象,因为编程往往涉及解决复杂问题、理解抽象概念以及不断试错的过程。 以下是一些建议,帮助你在面对挫折时调整心态,继续前行: 接受失败是成长的一部分:首先要认识到&#…

专题---自底向上的计算机网络(计算机网络相关概述)

目录 计算机网络相关概述 物理层 数据链路层 网络层 运输层 应用层 网络安全 1.计算机网络相关概述(具体细节http://t.csdnimg.cn/NITAW) 什么是计算机网络? 计算机网络是将一个分散的,具有独立功能的计算机系统&#x…

测绘程序设计|初识C#编程语言|C#源码结构|面向对象|MFC、WinFrom与WPF

由于微信公众号改变了推送规则,为了每次新的推送可以在第一时间出现在您的订阅列表中,记得将本公众号设为星标或置顶喔~ 根据笔者经验,分享了C#编程语言、面向对象以及MFC、WinForm与WPF界面框架相关知识~ 🌿前言 c#作为测绘程序…

海外媒体投稿:怎样在法国媒体发稿宣传中获得成功

法国是一个充满机遇的销售市场,而媒体发稿营销推广是企业在法国市场里扩张曝光度和提升知名度的有效途径。下面我们就共享如何运用低投资得到高收益的办法,帮助企业在法国媒体发稿推广过程中获得成功。 第一步:掌握目标群体在进行法国媒体发稿…

AI时代来临:数字人主播,虚拟代言人正颠覆行业!

数字人主播、虚拟代言人……你的身边有“数字同事”了吗?近年来,越来越多的数字人开始活跃在各个行业,承担起直播带货、知识讲解、新闻播报和品牌代言等任务。就在刚刚过去的五一假期,当大多数人还在休息时,不少数字人…

RongCallKit iOS 端本地私有 pod 方案

RongCallKit iOS 端本地私有 pod 方案 需求背景 适用于源码集成 CallKit 时,使用 pod 管理 RTC framework 以及源码。集成 CallKit 时,需要定制化修改 CallKit 的样式以及部分 UI 功能。适用于 CallKit 源码 Debug 调试便于定位相关问题。 解决方案 从…

某系统存在任意账户凭据窃取漏洞

世人都晓神仙好,惟有功名忘不了!古今将相今何在?荒冢一堆草没了。 漏洞描述 某系统存在任意账户凭据窃取漏洞,攻击者使用任意账号登录后访问特殊的Url即可获取所有用户的账号和密码 漏洞复现 登录后台(存在访客用户默认账号密…

【原创】java+swing+mysql房屋租赁管理系统设计与实现

个人主页:程序员杨工 个人简介:从事软件开发多年,前后端均有涉猎,具有丰富的开发经验 博客内容:全栈开发,分享Java、Python、Php、小程序、前后端、数据库经验和实战 文末有本人名片,希望和大家…

听专家的,不如听国家的,网络安全究竟值不值得报?

考学选专业,或者跳槽选行业的,看这篇! 如果你什么都不懂,家里也没有矿,那就紧跟国家大事和地方政策。 关于网络安全专业究竟是否值得报考? 要知道“二十大”、“十四五”等大会一直在提一个词叫做“数字中国建设”…

Linux:进程的概念,进程相关函数

一、进程的概念 1.进程 进程是系统进行资源分配和调度的一个独立单元,它是操作系统结构的基础。进程是程序的一次执行过程,包含了程序代码、当前活动、系统资源(如CPU、内存、文件等)的使用情况等信息。每个进程都有自己独立的内…

DevOps入门(上)

1: DevOps概念 DevOps: Development 和 Operations 的组合 DevOps 看作开发(软件工程)、技术运营和质量保障(QA)三者的交集。 突出重视软件开发人员和运维人员的沟通合作,通过自动化流程来使…

React学习笔记(一)——react基础

目录 1. React 介绍 1.1 React是什么 1.2 React的优势 1.3 React的市场情况 2. 开发环境搭建 2.1 使用create-react-app快速搭建开发环境 2.2 react 项目文件说明 2.3 index.js项目入口文件 2.4 App.js 项目根组件 2.5 react 调试工具安装 3. JSX基础-概念和本质 3…