RabbitMQ 集群安装

news2025/1/12 22:52:50

在 linux 下手动安装 RabbitMQ 集群。

准备

安装之前的准备工作。

准备内容说明其他
3 台服务器centos、redhat 等
ErlangRabbitMQ 运行需要的基础环境
socatRabbitMQ 运行需要的基础环境
logrotateRabbitMQ 运行需要的基础环境这个服务器一般自带了

下面的安装示例中使用的版本分别是:
rabbitmq-server-3.12.13-1.el8.noarch.rmp
https://github.com/rabbitmq/rabbitmq-server/releases/download/v3.12.13/rabbitmq-server-3.12.13-1.el7.noarch.rpm

erlang-25.3.2.9-1.el7.x86_64.rmp
https://github.com/rabbitmq/erlang-rpm/releases/download/v25.3.2.13/erlang-25.3.2.13-1.el8.x86_64.rpm

安装

Erlang

rpm -ivh erlang-25.3.2.9-1.el7.x86_64.rpm
image.png
安装成功后查看版本:
image.png

socat

image.png

rabbitmq-server

image.png

启动

systemctl start rabbitmq-server
systemctl status rabbitmq-server 查看状态
image.png

加载管控插件

默认情况下只启动了消息传输服务,而不能用到管理监控功能,这个需要手动加载:
rabbitmq-plugins enable rabbitmq_management
image.png

创建用户设置权限

默认的用户名密码是 guest/guest,一般需要创建其他用户并设置权限。
rabbitmqctl add_user admin admin
rabbitmqctl set_user_tags admin administrator
rabbitmqctl set_permissions -p “/” admin “.” “.” “.”
image.png

组建集群

利用 Erlang 的特性组成集群,首先需要保证三台服务器的 erlang_cookies 相同。
拷贝第一胎服务器上的文件:/var/lib/rabbitmq/.erlang.cookie 到另外两台服务器上,并修改用户和权限:
chown rabbitmq:rabbitmq /var/lib/rabbitmq/.erlang.cookie
chmod 600 /var/lib/rabbitmq/.erlang.cookie

在另外两台服务器上分别执行如下命令:
rabbitmqctl stop_app
rabbitmqctl join_cluster rabbit@linux-3-175
rabbitmqctl start_app
rabbitmqctl cluster_status 查看集群状态
image.png
也可以登录管理页面,首页显示节点信息:
image.png

错误

启动失败,报错:unable to use my own hostname

启动后报错,执行 journalctl -xe 可以看到如下错误日志
image.png
设置 houstname 为域名,然后在 /etc/hosts 中添加记录(需要加上集群中的所有节点信息),如下:
image.png

启动失败,报错:unregistered authentication agent for …

执行 journalctl -xe 可以看到如下错误日志
image.png
这种错误的原因有很多,我这里的原因是搭建集群时,设置的 /var/lib/rabbitmq/.erlang.cookie 权限有问题,修改所有权和文件权限即可:
chown rabbitmq:rabbitmq /var/lib/rabbitmq/.erlang.cookie
chmod 600 /var/lib/rabbitmq/.erlang.cookie
image.png

无法登录管理页面,提示:user can only log in via localhost

浏览器访问 http://ip:15672,输入用户名密码后提示:
image.png
默认的 guest/guest 用户没有这个权限,手动创建其他用户并设置权限后登录成功。

参考

  1. Erlang Version Requirements | RabbitMQ
  2. rabbitmq/rabbitmq-server: Open source RabbitMQ: core server and tier 1 (built-in) plugins (github.com)
  3. rabbitmq/erlang-rpm: Latest Erlang/OTP releases packaged as a zero dependency RPM, just enough for running RabbitMQ (github.com)

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

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

相关文章

一键测量仪,能否彻底解决燃气灶配件缺陷问题?

燃气灶配件是指用于燃气灶的附件或零部件,用于安装、维护或改进燃气灶的功能和性能。这些配件通常包括各种零部件、附件和替换件,以确保燃气灶的正常运行和安全使用。燃气灶的火焰头是产生火焰的部件,通常根据不同的燃气类型和火力需求选择合…

python-求四位数(赛氪OJ)

[题目描述] 3025 这个数具有一种独特的性质:将它平分为二段,即 30 和 25,使之相加后求平方,即 (3025)^2,恰好等于 3025 本身。请求出具有这样性质的全部四位数。输入格式: 此题没有输入。输出格式&#xff…

详解并掌握AXI4总线协议(一)、AXI4-FULL接口介绍

系列文章目录 文章目录 系列文章目录一、AXI介绍二、AXI4、AXI-Lite、AXI4-Stream区别三、AXI4读写架构3.1 通道定义3.2 读突发时序3.3 写突发时序 四、AXI4-FULL 总线信号介绍4.1全局信号4.2 写地址通道信号4.3 写数据通道信号4.4 写响应通道信号4.5 读地址通道信号4.6 读数据…

Animate软件基础:在时间轴中添加或插入帧

FlashASer:AdobeAnimate2021软件零基础入门教程https://zhuanlan.zhihu.com/p/633230084 FlashASer:实用的各种Adobe Animate软件教程https://zhuanlan.zhihu.com/p/675680471 FlashASer:Animate教程及作品源文件https://zhuanlan.zhihu.co…

抖音爆火的“拆盲盒”直播,是如何将昂贵的废品卖给消费者的?

抖音直播间掀起了一股“拆盲盒”热潮。 最初,这股热潮主要集中在拆卡直播间。一盒10包起卖的卡牌,价格在100~200不等。拆卡主播拿起剪刀行云流水的开盒、拆卡、过牌,一晚上能轻松跑出数万元的营业额。数据显示,头部卡牌公司卡游仅…

Redis+Unity 数据库搭建

游戏中需要存放排行榜等数据,而且是实时存放,所以就涉及到数据库的问题。这里找服务器大神了解到可以用Redis来做存储,免费的效率极高。 Redis的搭建参考上文的文章,同时也感谢这位网友。 搭建Redis 并测试数据 搭建Redis 1.下…

玩转云服务:Google Cloud谷歌云永久免费云服务器「白嫖」 指南

前几天,和大家分享了: 玩转云服务:Oracle Cloud甲骨文永久免费云服务器注册及配置指南 相信很多同学都卡在了这一步: 可用性域 AD-1 中配置 VM.Standard.E2.1.Micro 的容量不足。请在其他可用性域中创建实例,或稍后…

Kafka设计与原理详解

RocketMQ 是一款开源的分布式消息系统,基于高可用分布式集群技术,提供低延时的、高可靠的消息发布与订阅服务。同时,广泛应用于多个领域,包括异步通信解耦、企业解决方案、金融支付、电信、电子商务、快递物流、广告营销、社交、即…

使用kettle开源工具进行跨库数据同步

数据库同步可以用: 1、Navicat 2、Kettle 3、自己写代码 调用码神工具跨库数据同步 -连接 4、其它 实现 这里使用Kettle来同步,主要是开源的,通过配置就可以实现了 Kettle的图形化界面(Spoon)安装参考方法 ht…

Maven实战.依赖(依赖范围、传递性依赖、依赖调解、可选依赖等)

文章目录 依赖的配置依赖范围传递性依赖传递性依赖和依赖范围依赖调解可选依赖最佳实践排除依赖归类依赖优化依赖 依赖的配置 依赖会有基本的groupId、artifactld 和 version等元素组成。其实一个依赖声明可以包含如下的一些元素&#xff1a; <project> ...<depende…

单例模式及其思想

本文包括以下几点↓ 结论&#xff1a;设计模式不是简单地将一个固定的代码框架套用到项目中&#xff0c;而是一种严谨的编程思想&#xff0c;旨在提供解决特定问题的经验和指导。 单例模式&#xff08;Singleton Pattern&#xff09; 意图 旨在确保类只有一个实例&#xff…

Linux用户-用户组

作者介绍&#xff1a;简历上没有一个精通的运维工程师。希望大家多多关注我&#xff0c;我尽量把自己会的都分享给大家&#xff0c;下面的思维导图也是预计更新的内容和当前进度(不定时更新)。 Linux是一个多用户多任务操作系统,这意味着它可以同时支持多个用户登录并使用系统。…

每日OJ_牛客HJ74 参数解析

目录 牛客HJ74 参数解析 解析代码1 解析代码2 牛客HJ74 参数解析 参数解析_牛客题霸_牛客网 解析代码1 本题通过以空格和双引号为间隔&#xff0c;统计参数个数。对于双引号&#xff0c;通过添加flag&#xff0c;保证双引号中的空格被输出。 #include <iostream> #i…

解决文件夹打不开难题:数据恢复全攻略

在日常的电脑使用过程中&#xff0c;遇到文件夹无法打开的情况无疑是令人头疼的。这不仅可能影响到我们的工作效率&#xff0c;还可能导致重要数据的丢失。本文将深入探讨文件夹打不开的原因&#xff0c;并为您提供两种高效的数据恢复方案&#xff0c;助您轻松应对这一难题。 一…

p33 指针详解(1)(2)(3)

指针的进阶 1.字符指针 void test(int arr[]) { int szsizeof(arr)/sizeof(arr[0]); printf("%d\n", sz); } int main() { int arr[10] {0}; test(arr); return 0; } 这个代码在64位计算机中是8/42 在32位计算机中的是4/41 int main() {char c…

vue2 搭配 html2canvas 截图并设置截图时样式(不影响页面) 以及 base64转file文件上传 或者下载截图 小记

下载 npm install html2canvas --save引入 import html2canvas from "html2canvas"; //使用 html2canvasForChars() { // 使用that来存储当前Vue组件的上下文&#xff0c;以便在回调函数中使用 let that this; // 获取DOM中id为"charts"的元素&…

3.1 拓扑排序

有向图的存储 邻接矩阵 邻接表 拓扑排序 有向无环图&#xff1a;不存在环的有向图 环&#xff1a; 在有向图中&#xff0c;从一个节点出发&#xff0c;最终回到它自身的路径被称为环 入度&#xff1a; 以节点x为终点的有向边的条数被称为x的入度 出度&#xff1a; 以节…

汽车配件销售系统2024

下载在最后,编号ssm007 技术栈: ssmmysqljsp 展示: 下载地址: CSDN现在上传有问题,有兴趣的朋友先收藏.正常了贴上下载地址 备注: 运行有问题请私信我,私信按钮在文章左边) 另外接各种定制系统,java,spring,c,c,python

upload-labs靶场(超详解)1-16关

pass1 从代码中可以看出&#xff0c;是通过js进行文件格式检查 <script type"text/javascript">function checkFile() {var file document.getElementsByName(upload_file)[0].value;if (file null || file "") {alert("请选择要上传的文件…