当前位置: 首页 > news >正文

RabbitMQ集群安装

RabbitMQ集群安装

1.前言

OS: CentOS Linux release 7.9.2009 (Core)

机器:

IPnodecpu内存存储
10.106.1.241max-rabbitmg-018 核16 G100 G
10.106.1.242max-rabbitmg-028 核16 G100 G
10.106.1.243max-rabbitmg-038 核16 G100 G

因为操作系统版本是 centos7,所以RabbitMQ安装版本,选的是最后一个支持RHEL7的版本。

在安装RabbitMQ之前,需要安装Erlang/OTP支持的版本。RabbitMQ是实现了高级消息队列协议(AMQP)的开源消息代理软件(亦称面向消息的中间件)。RabbitMQ服务器是用Erlang语言编写的。

再确定要下载的RabbitMQ的版本号之后,访问网址选择Erlang版本查看匹配对应Erlang的版本号,并进行下载。

本次下载RabbitMQ版本为3.10.0-1对应的Erlang版本为23.3.4.11-1

RabbitMQ: 3.10.0-1

Erlang: 23.3.4.11-1

2.准备

注意,以下操作,分别在3台机器上执行

配置hosts:

cat << \EOF >> /etc/hosts
10.106.1.241 max-rabbitmq-01
10.106.1.242 max-rabbitmq-02
10.106.1.243 max-rabbitmq-03
EOF

查看hosts配置是否正确:

ping max-rabbitmq-01
ping max-rabbitmq-02
ping max-rabbitmq-03

关闭selinux:

sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/sysconfig/selinux
setenforce 0

关闭防火墙:

systemctl stop firewalld
systemctl disable firewalld

安装存储库:

curl -s https://packagecloud.io/install/repositories/rabbitmq/erlang/script.rpm.sh | bash
curl -s https://packagecloud.io/install/repositories/rabbitmq/rabbitmq-server/script.rpm.sh | bash

下载rpm安装包:

wget --content-disposition https://packagecloud.io/rabbitmq/erlang/packages/el/7/erlang-23.3.4.11-1.el7.x86_64.rpm/download.rpm?distro_version_id=205
wget --content-disposition https://packagecloud.io/rabbitmq/rabbitmq-server/packages/el/7/rabbitmq-server-3.10.0-1.el7.noarch.rpm/download.rpm?distro_version_id=205

3.安装

注意,以下操作,分别在3台机器上执行

安装:

yum install -y erlang-23.3.4.11-1.el7.x86_64.rpm
yum install -y rabbitmq-server-3.10.0-1.el7.noarch.rpm

启动服务、并设置开机服务:

systemctl start rabbitmq-server
systemctl enable rabbitmq-server

其它服务命令:

# 启动
systemctl start rabbitmq-server
# 查看状态
systemctl status rabbitmq-server
# 停止
systemctl stop rabbitmq-server stop

4.端口授权

RabbitMQ节点绑定到端口(开放服务器TCP套接字)以接受客户端和CLI工具连接。

其他进程和工具(如SELinux)可能会阻止RabbitMQ绑定端口。

当发生这种情况时,节点将无法启动。
CLI工具、客户端库和RabbitMQ节点也可以打开连接(客户端TCP套接字)。

防火墙可以阻止节点和CLI工具之间的通信。

为了确保以下端口可访问,请单独端口开启授权,请直接关闭防火墙。

这里推荐直接关闭防火墙

4369: epmd, RabbitMQ节点和CLI工具使用的对等体发现服务

5672, 5671:用于AMQP 0-9-1和1.0客户端,无论是否使用TLS

25672:用于节点间和CLI工具通信(Erlang分发服务器端口),动态范围分配(默认限制为单个端口,计算为AMQP端口+ 20000)。除非这些端口上的外部连接确实是必要的(例如集群使用联合或在子网外的机器上使用CLI工具),否则这些端口不应该公开。具体请参见组网指南。

35672-35682: CLI工具(Erlang分发客户端端口)用于与节点通信,按动态范围(服务器分发端口+ 10000 ~服务器分发端口+ 10010计算)分配。具体请参见组网指南。

15672: HTTP API客户端,管理UI和rabbitmqadmin(只有启用了管理插件)

61613,61614: STOMP客户端不带TLS或带TLS(仅当启用STOMP插件时)

1883、8883:MQTT客户端,如果启用了MQTT插件,则不使用TLS或使用TLS

15674: STOMP-over- websockets客户端(仅当Web STOMP插件启用时)

15675: MQTT-over- websockets客户端(仅当启用Web MQTT插件时)

15692: Prometheus metrics(仅当Prometheus插件启用时)

5.开启远程登录

注意,以下操作,分别在3台机器上执行

rabbitmq-plugins enable rabbitmq_management
rabbitmq-plugins enable rabbitmq_mqtt

6.添加用户及权限

注意,以下操作,分别在3台机器上执行

添加RabbitMQ用户及权限:

rabbitmqctl add_user admin 你RabbitMQ的密码
rabbitmqctl set_user_tags admin administrator
rabbitmqctl set_permissions -p "/" admin ".*" ".*" ".*"

执行rabbitmqctl add_user时,出现 Done. Don't forget to grant the user permissions to some virtual hosts! See 'rabbitmqctl help set_permissions' to learn more. 这段是提醒记得设置权限。

执行完创建用户及授权命令后,可以试下账号是否能登录:

http://10.106.1.241:15672

http://10.106.1.242:15672

http://10.106.1.243:15672

7.集群配置

在max-rabbitmq-02、max-rabbitmq-03节点执行停RabbitMQ服务的命令:

systemctl stop rabbitmq-server

后面的集群配置,为了确保计算机中erlang.cookie文件是一致的,执行以下脚本scp命令。

拷贝.erlang.cookie到max-rabbitmq-02、max-rabbitmq-03节点:

scp /var/lib/rabbitmq/.erlang.cookie root@max-rabbitmq-02:/var/lib/rabbitmq/.erlang.cookie
scp /var/lib/rabbitmq/.erlang.cookie root@max-rabbitmq-03:/var/lib/rabbitmq/.erlang.cookie

重启max-rabbitmq-02、max-rabbitmq-03的RabbitMQ服务:

systemctl start rabbitmq-server

max-rabbitmq-02加入集群:

rabbitmqctl stop_app
rabbitmqctl reset
rabbitmqctl join_cluster rabbit@max-rabbitmq-01
rabbitmqctl start_app
rabbitmqctl cluster_status

max-rabbitmq-03加入集群:

rabbitmqctl stop_app
rabbitmqctl reset
rabbitmqctl join_cluster rabbit@max-rabbitmq-01
rabbitmqctl start_app
rabbitmqctl cluster_status

登录http://10.106.1.241:15672查看集群状态

正常情况如下图:
1.rabbitmq-cluster_status.png

8.安装插件

安装延迟消息队列插件

插件下载地址:rabbitmq_delayed_message_exchange-3.10.0.ez

请注意插件的版本号,这里下载的是与之相对应的版本。

查看插件存放目录:

rabbitmq-plugins directories -s

执行查看存放目录后,显示如下

Plugin archives directory: /usr/lib/rabbitmq/plugins:/usr/lib/rabbitmq/lib/rabbitmq_server-3.10.0/plugins
Plugin expansion directory: /var/lib/rabbitmq/mnesia/rabbit@max-rabbitmq-01-plugins-expand
Enabled plugins file: /etc/rabbitmq/enabled_plugins

rabbitmq_delayed_message_exchange-3.10.0.ez下载至/usr/lib/rabbitmq/lib/rabbitmq_server-3.10.0/plugins目录下。

执行安装命令:

rabbitmq-plugins enable rabbitmq_delayed_message_exchange

3台rabbitmq分别重启服务:

systemctl restart rabbitmq-server

查看插件安装是否成功:

2.rabbitmq_delayed_message_exchange.png

9.引用 Reference

Kubernetes 1.25.4版本安装
kubeasz安装kubernetes1.25.5
CentOS8搭建nfs服务
k8s一键安装redis单机版
k8s一键安装mysql8单机版
Docker制作springboot运行应用镜像
k8s部署springboot应用
zookeeper集群安装
Nginx日志切割
Elasticsearch单机版本安装
Elasticsearch集群安装
springboot集成prometheus+grafana
安装Docker及学习
RabbitMQ集群安装

相关文章:

RabbitMQ集群安装

RabbitMQ集群安装 1.前言 OS: CentOS Linux release 7.9.2009 (Core) 机器: IPnodecpu内存存储10.106.1.241max-rabbitmg-018 核16 G100 G10.106.1.242max-rabbitmg-028 核16 G100 G10.106.1.243max-rabbitmg-038 核16 G100 G 因为操作系统版本是 centos7&#xff0c;所以…...

面试:link和@import的区别

1&#xff1a;link是XHTML标签&#xff0c;除了加载CSS外&#xff0c;还可以加载RSS&#xff1b;import只能加载CSS 2:link引入CSS时&#xff0c;在页面载入时同时加载&#xff1b;import需要页面完全载入后加载&#xff0c;可能会出行闪屏 3:link是XHTML标签&#xff0c;无兼容…...

图片隐写(一)

文件隐藏 binwalk binwalk -e filename foremost foremost filename steghide & stegseek Install sudo apt-get install steghidestegseek Use steghide extract -sf filename -p passwordtime stegseek secret.file aaa.txt dd 文本隐藏 二进制文件末尾 or 文…...

Vivado 下 IP核 之ROM 读写

目录 Vivado 下 IP核 之ROM 读写 1、实验简介 2、ROM IP 核简介 3、ROM IP 核配置 3.1、创建 ROM 初始化文件 3.2、单端口 ROM 的配置 3.3、双端口 ROM 的配置 3.4、ROM IP 核的调用 &#xff08;1&#xff09;ROM 顶层模块代码 &#xff08;2&#xff09;ROM IP 核仿…...

朗诵素材-《诵四季诗韵,咏师恩师德》

女&#xff1a;中华五千年的悠久历史&#xff0c;孕育了底蕴深厚的民族文化。 男&#xff1a;华夏源远流长的经典诗文&#xff0c; 女&#xff1a;是文化艺苑中经久不衰的瑰宝。 男&#xff1a;在那些脍炙人口的诗句里&#xff0c;凝聚着华光熠熠的民族精魂。 女&#xff1…...

CHB-麻省理工学院头皮脑电图数据库

数据库介绍 该数据库在波士顿儿童医院收集&#xff0c;包括患有顽固性癫痫发作的儿科受试者的脑电图记录。受试者在停用抗癫痫药物后被监测长达几天&#xff0c;以表征他们的癫痫发作并评估他们手术干预的候选资格。 数据库链接&#xff1a;https://physionet.org/content/chb…...

传输层协议

目录 传输层 端口号 端口号范围划分 认识知名端口号(Well-Know Port Number) netstat pidof UDP协议UDP协议端格式​编辑 UDP的特点 面向数据报 UDP的缓冲区 UDP使用注意事项 基于UDP的应用层协议 TCP协议 TCP协议段格式 确认应答(ACK)机制 超时重传机制 连…...

公司新招了个字节拿36K的人,让我见识到了什么才是测试扛把子......

5年测试&#xff0c;应该是能达到资深测试的水准&#xff0c;即不仅能熟练地开发业务&#xff0c;而且还能熟悉项目开发&#xff0c;测试&#xff0c;调试和发布的流程&#xff0c;而且还应该能全面掌握数据库等方面的技能&#xff0c;如果技能再高些的话&#xff0c;甚至熟悉分…...

pytorch rpc如何实现分物理机器的model parallel

因为业务需要&#xff0c;最近接到一项任务&#xff0c;是如何利用pytorch实现model parallel以及distributed training。搜罗了网上很多资料&#xff0c;以及阅读了pytorch官方的教程&#xff0c;都没有可参考的案例。讲的比较多的是data parallel&#xff0c;关于model paral…...

APP服务端架构的演变

大家好&#xff0c;我是易安&#xff01; 早期2013年的时候&#xff0c;随着智能设备的普及和移动互联网的发展&#xff0c;移动端逐渐成为用户的新入口&#xff0c;各个电商平台都开始聚焦移动端App&#xff0c;如今经历了10年的发展&#xff0c;很多电商APP早已经没入历史的洪…...

EasyRecovery16适用于Windows和Mac的专业硬盘恢复软件

无论你对数据恢复了解多少&#xff0c; 我们将为您处理所有复杂的流程并简化恢复!适用于Windows和Mac的 专业硬盘恢复软件 硬盘数据无法保证绝对安全。有时会发生数据丢失&#xff0c;需要使用硬盘恢复工具。支持恢复不同存储介质数据&#xff1a;硬盘、光盘、U盘/移动硬盘、数…...

详解Jetpack Compose中的状态管理与使用

前言 引用一段官方描述&#xff0c;如下 由于 Compose 是声明式工具集&#xff0c;因此更新它的唯一方法是通过新参数调用同一可组合项。这些参数是界面状态的表现形式。每当状态更新时&#xff0c;都会发生重组。因此&#xff0c;TextField 不会像在基于 XML 的命令式视图中那…...

改进YOLOv7 | 头部解耦 | 将YOLOX解耦头添加到YOLOv7 | 涨点杀器

改进YOLOv7 | 头部解耦 | 将YOLOX解耦头添加到YOLOv7 论文地址:https://arxiv.org/abs/2107.08430 文章目录 改进YOLOv7 | 头部解耦 | 将YOLOX解耦头添加到YOLOv71. 解耦头原理2. 解耦头对收敛速度的影响3. 解耦头对精度的影响4. 代码改进方式第一步第二步第三步第四步第五步参…...

第七章 中断

中断是什么&#xff0c;为什么要有中断 并发是指单位时间内的累积工作量。 并行是指真正同时进行的工作量。 一个CPU在一个时间只能执行一个进程&#xff0c;任何瞬间任务只在一个核心上运行。 而CPU外的设备是独立于CPU的&#xff0c;它与CPU同步运行&#xff0c;CPU抽出一点…...

1116 Come on! Let‘s C(38行代码+详细注释)

分数 20 全屏浏览题目 作者 CHEN, Yue 单位 浙江大学 "Lets C" is a popular and fun programming contest hosted by the College of Computer Science and Technology, Zhejiang University. Since the idea of the contest is for fun, the award rules are f…...

深入学习《c语言函数》

&#x1f4d5;博主介绍&#xff1a;目前大一正在学习c语言&#xff0c;数据结构&#xff0c;计算机网络。 c语言学习&#xff0c;是为了更好的学习其他的编程语言&#xff0c;C语言是母体语言&#xff0c;是人机交互接近底层的桥梁。 本章学习函数。 让我们开启c语言学习之旅吧…...

Pytorch从零开始实现Vision Transformer (from scratch)

Pytorch从零开始实现Vision Transformer 前言一、Vision Transformer架构介绍1. Patch Embedding2. Multi-Head Attention3. Transformer BlockFeed Forward 二、预备知识1. Einsum2. Einops 三、Vision Transformer代码实现0. 导入库1. Patch Embedding2. Residual & Norm…...

ES6函数新增了哪些扩展?

目录 一、参数二、属性函数的length属性name属性 三、作用域四、严格模式五、箭头函数 一、参数 ES6允许为函数的参数设置默认值 function log(x, y World) {console.log(x, y); }console.log(Hello) // Hello World console.log(Hello, China) // Hello China console.log(…...

【firewalld防火墙】

目录 一、firewalld概述二、firewalld 与 iptables 的区别1、firewalld 区域的概念 三、firewalld防火墙默认的9个区域四、Firewalld 网络区域1、区域介绍2、firewalld数据处理流程 五、firewalld防火墙的配置方法1、使用firewall-cmd 命令行工具。2、使用firewall-config 图形…...

CNNs: ZFNet之CNN的可视化网络介绍

CNNs: ZFNet之CNN的可视化网络介绍 导言Deconvnet1. Unpooling2. ReLU3. Transpose conv AlexNet网络修改AlexNet Deconv网络介绍特征可视化 导言 上一个内容&#xff0c;我们主要学习了AlexNet网络的实现、超参数对网络结果的影响以及网络中涉及到一些其他的知识点&#xff0…...

AI-调查研究-01-正念冥想有用吗?对健康的影响及科学指南

点一下关注吧&#xff01;&#xff01;&#xff01;非常感谢&#xff01;&#xff01;持续更新&#xff01;&#xff01;&#xff01; &#x1f680; AI篇持续更新中&#xff01;&#xff08;长期更新&#xff09; 目前2025年06月05日更新到&#xff1a; AI炼丹日志-28 - Aud…...

无法与IP建立连接,未能下载VSCode服务器

如题&#xff0c;在远程连接服务器的时候突然遇到了这个提示。 查阅了一圈&#xff0c;发现是VSCode版本自动更新惹的祸&#xff01;&#xff01;&#xff01; 在VSCode的帮助->关于这里发现前几天VSCode自动更新了&#xff0c;我的版本号变成了1.100.3 才导致了远程连接出…...

ardupilot 开发环境eclipse 中import 缺少C++

目录 文章目录 目录摘要1.修复过程摘要 本节主要解决ardupilot 开发环境eclipse 中import 缺少C++,无法导入ardupilot代码,会引起查看不方便的问题。如下图所示 1.修复过程 0.安装ubuntu 软件中自带的eclipse 1.打开eclipse—Help—install new software 2.在 Work with中…...

ios苹果系统,js 滑动屏幕、锚定无效

现象&#xff1a;window.addEventListener监听touch无效&#xff0c;划不动屏幕&#xff0c;但是代码逻辑都有执行到。 scrollIntoView也无效。 原因&#xff1a;这是因为 iOS 的触摸事件处理机制和 touch-action: none 的设置有关。ios有太多得交互动作&#xff0c;从而会影响…...

Unity UGUI Button事件流程

场景结构 测试代码 public class TestBtn : MonoBehaviour {void Start(){var btn GetComponent<Button>();btn.onClick.AddListener(OnClick);}private void OnClick(){Debug.Log("666");}}当添加事件时 // 实例化一个ButtonClickedEvent的事件 [Formerl…...

Oracle11g安装包

Oracle 11g安装包 适用于windows系统&#xff0c;64位 下载路径 oracle 11g 安装包...

uniapp 实现腾讯云IM群文件上传下载功能

UniApp 集成腾讯云IM实现群文件上传下载功能全攻略 一、功能背景与技术选型 在团队协作场景中&#xff0c;群文件共享是核心需求之一。本文将介绍如何基于腾讯云IMCOS&#xff0c;在uniapp中实现&#xff1a; 群内文件上传/下载文件元数据管理下载进度追踪跨平台文件预览 二…...

HybridVLA——让单一LLM同时具备扩散和自回归动作预测能力:训练时既扩散也回归,但推理时则扩散

前言 如上一篇文章《dexcap升级版之DexWild》中的前言部分所说&#xff0c;在叠衣服的过程中&#xff0c;我会带着团队对比各种模型、方法、策略&#xff0c;毕竟针对各个场景始终寻找更优的解决方案&#xff0c;是我个人和我司「七月在线」的职责之一 且个人认为&#xff0c…...

小木的算法日记-多叉树的递归/层序遍历

&#x1f332; 从二叉树到森林&#xff1a;一文彻底搞懂多叉树遍历的艺术 &#x1f680; 引言 你好&#xff0c;未来的算法大神&#xff01; 在数据结构的世界里&#xff0c;“树”无疑是最核心、最迷人的概念之一。我们中的大多数人都是从 二叉树 开始入门的&#xff0c;它…...

用递归算法解锁「子集」问题 —— LeetCode 78题解析

文章目录 一、题目介绍二、递归思路详解&#xff1a;从决策树开始理解三、解法一&#xff1a;二叉决策树 DFS四、解法二&#xff1a;组合式回溯写法&#xff08;推荐&#xff09;五、解法对比 递归算法是编程中一种非常强大且常见的思想&#xff0c;它能够优雅地解决很多复杂的…...