rabbitmq-3.8.15集群、集群镜像模式安装部署
目录
一、环境
1、映射、域名、三墙
2、Erlang和socat安装(三台服务器都实行)
二、部署三台rabbitmq-3.8.15实例
1、rabbitmq官网下载地址 :
2、解压rabbitmq
3、添加系统变量
4、启动web插件、启动rabbitmq
5、在rabbitmq1上添加用户
三、部署集群
2、rabbitmq2加入rabbitmq1节点
3、rabbitmq3同理,查看节点状态
三、设置为镜像模式
一、环境
1、映射、域名、三墙
[root@rabbitmq1 ~]# vim /etc/hosts
192.168.6.83 rabbitmq1
192.168.6.84 rabbitmq2
192.168.6.85 rabbitmq3
[root@rabbitmq1 ~]# hostnamectl set-hostname rabbitmq1
[root@rabbitmq1 ~]# bash
[root@rabbitmq2 ~]# hostnamectl set-hostname rabbitmq2
[root@rabbitmq2 ~]# bash
[root@rabbitmq3 ~]# hostnamectl set-hostname rabbitmq3
[root@rabbitmq3 ~]# bash
[root@rabbitmq1 ~]# systemctl stop firewalld
[root@rabbitmq1 ~]# setenforce 0
[root@rabbitmq1 ~]# iptables -F
2、Erlang和socat安装
(三台服务器都实行)
#Erlang安装
#Erlang环境
[root@rabbitmq1 ~]# yum -y install make gcc gcc-c++ build-essential openssl openssl-devel unixODBC unixODBC-devel kernel-devel m4 ncurses-devel
[root@rabbitmq1 ~]# curl -s https://packagecloud.io/install/repositories/rabbitmq/erlang/script.rpm.sh | sudo bash
[root@rabbitmq1 ~]# sudo yum -y install erlang-22.3.4.19-1.el7.x86_64
[root@rabbitmq1 ~]# yum -y install socat
二、部署三台rabbitmq-3.8.15实例
1、rabbitmq官网下载地址 :
Downloading and Installing RabbitMQ — RabbitMQ
http://www.rabbitmq.com/download.html
获取 rabbitmq-server-generic-unix-3.8.15.tar并拉取到每台服务器
2、解压rabbitmq
[root@rabbitmq2 ~]# xz -d rabbitmq-server-generic-unix-3.8.15.tar.xz
[root@rabbitmq2 ~]# tar xvf rabbitmq-server-generic-unix-3.8.15.tar
[root@rabbitmq2 ~]# mv rabbitmq_server-3.8.15/ /usr/local/rabbitmq
3、添加系统变量
#打开环境变量文件[root@rabbitmq2 ~]# vim /etc/profile#添加erlang rabbitmq 到环境变量export PATH=$PATH:/usr/local/erlang/binexport PATH=$PATH:/usr/local/rabbitmq/sbin#重新加载环境变量[root@rabbitmq2 ~]# source /etc/profile
4、启动web插件、启动rabbitmq
#启动web插件 便于访问[root@rabbitmq2 ~]# rabbitmq-plugins enable rabbitmq_management#启动rabbitmq服务[root@rabbitmq2 ~]# rabbitmq-server
5、在rabbitmq1上添加用户
#添加用户 admin 密码为 123456rabbitmqctl add_user admin 123456#将admin 设置为管理员权限rabbitmqctl set_user_tags admin administrator#将admin 设置为远端登录rabbitmqctl set_permissions -p / admin ".*" ".*" ".*"
使用 admin 密码 123456 进行登录

三、部署集群
1、向2和3分发.erlang.cookie
[root@rabbitmq1 ~]# scp .erlang.cookie 192.168.6.84:/root
[root@rabbitmq1 ~]# scp .erlang.cookie 192.168.6.85:/root
2、rabbitmq2加入rabbitmq1节点
需要强调一下,集群中至少有一个节点是磁盘节点用于数据持久化,然后剩下的节点都设置为内存节点以提高性能。
这里将 rabbitmq2 添加到集群当中,并成为内存节点,不加–ram 默认是磁盘节点
rabbitmq1默认为磁盘节点
[root@rabbitmq2 ~]# rabbitmqctl stop_app
Stopping rabbit application on node rabbit@rabbitmq2 ...
[root@rabbitmq2 ~]# rabbitmqctl reset
Resetting node rabbit@rabbitmq2 ...
[root@rabbitmq2 ~]# rabbitmqctl join_cluster --ram rabbit@rabbitmq1
Clustering node rabbit@rabbitmq2 with rabbit@rabbitmq1
[root@rabbitmq2 ~]# rabbitmqctl start_app
Starting node rabbit@rabbitmq2 ...
3、rabbitmq3同理,查看节点状态
[root@rabbitmq1 ~]# rabbitmqctl cluster_status
Cluster status of node rabbit@rabbitmq1 ...
BasicsCluster name: rabbit@rabbitmq1Disk Nodesrabbit@rabbitmq1RAM Nodesrabbit@rabbitmq2
rabbit@rabbitmq3Running Nodesrabbit@rabbitmq1
rabbit@rabbitmq2
rabbit@rabbitmq3VersionsNode: rabbit@rabbitmq1, status: not under maintenance
Node: rabbit@rabbitmq2, status: not under maintenance
Node: rabbit@rabbitmq3, status: not under maintenanceMaintenance statusNode: rabbit@rabbitmq1, status: not under maintenance
Node: rabbit@rabbitmq2, status: not under maintenance
Node: rabbit@rabbitmq3, status: unknown

三、设置为镜像模式
[root@rabbitmq1 ~]# rabbitmqctl set_policy ha-all "^" '{"ha-mode":"all"}'
Setting policy "ha-all" for pattern "^" to "{"ha-mode":"all"}" with priority "0" for vhost "/" ...
验证
[root@rabbitmq1 ~]# rabbitmqctl cluster_status
Cluster status of node rabbit@rabbitmq1 ...
BasicsCluster name: rabbit@rabbitmq1Disk Nodesrabbit@rabbitmq1RAM Nodesrabbit@rabbitmq2
rabbit@rabbitmq3Running Nodesrabbit@rabbitmq1
rabbit@rabbitmq2
rabbit@rabbitmq3Versionsrabbit@rabbitmq1: RabbitMQ 3.8.15 on Erlang 22.3.4.19
rabbit@rabbitmq2: RabbitMQ 3.8.15 on Erlang 22.3.4.19
rabbit@rabbitmq3: RabbitMQ 3.8.15 on Erlang 22.3.4.19Maintenance statusNode: rabbit@rabbitmq1, status: not under maintenance
Node: rabbit@rabbitmq2, status: not under maintenance
Node: rabbit@rabbitmq3, status: not under maintenanceAlarms(none)Network Partitions(none)ListenersNode: rabbit@rabbitmq1, interface: [::], port: 25672, protocol: clustering, purpose: inter-node and CLI tool communication
Node: rabbit@rabbitmq1, interface: [::], port: 15672, protocol: http, purpose: HTTP API
Node: rabbit@rabbitmq1, interface: [::], port: 5672, protocol: amqp, purpose: AMQP 0-9-1 and AMQP 1.0
Node: rabbit@rabbitmq2, interface: [::], port: 25672, protocol: clustering, purpose: inter-node and CLI tool communication
Node: rabbit@rabbitmq2, interface: [::], port: 15672, protocol: http, purpose: HTTP API
Node: rabbit@rabbitmq2, interface: [::], port: 5672, protocol: amqp, purpose: AMQP 0-9-1 and AMQP 1.0
Node: rabbit@rabbitmq3, interface: [::], port: 25672, protocol: clustering, purpose: inter-node and CLI tool communication
Node: rabbit@rabbitmq3, interface: [::], port: 15672, protocol: http, purpose: HTTP API
Node: rabbit@rabbitmq3, interface: [::], port: 5672, protocol: amqp, purpose: AMQP 0-9-1 and AMQP 1.0(none)Network Partitions(none)ListenersNode: rabbit@rabbitmq1, interface: [::], port: 25672, protocol: clustering, purpose: inter-node and CLI tool communication
Node: rabbit@rabbitmq1, interface: [::], port: 15672, protocol: http, purpose: HTTP API
Node: rabbit@rabbitmq1, interface: [::], port: 5672, protocol: amqp, purpose: AMQP 0-9-1 and AMQP 1.0
Node: rabbit@rabbitmq2, interface: [::], port: 25672, protocol: clustering, purpose: inter-node and CLI tool communication
Node: rabbit@rabbitmq2, interface: [::], port: 15672, protocol: http, purpose: HTTP API
Node: rabbit@rabbitmq2, interface: [::], port: 5672, protocol: amqp, purpose: AMQP 0-9-1 and AMQP 1.0
相关文章:
rabbitmq-3.8.15集群、集群镜像模式安装部署
目录 一、环境 1、映射、域名、三墙 2、Erlang和socat安装(三台服务器都实行) 二、部署三台rabbitmq-3.8.15实例 1、rabbitmq官网下载地址 : 2、解压rabbitmq 3、添加系统变量 4、启动web插件、启动rabbitmq 5、在rabbitmq1上添加用…...
import导入顺序杂乱的问题
我们经常会遇到项目中的import语句顺序混乱的问题。这不仅会影响代码的可读性,还可能使我们代码在提交的时候产生不必要的冲突。 解决方案 eslint-plugin-import 开始我调研了一下eslint-plugin-import插件。这款插件的排序逻辑是这样: builtin: 这代…...
Hadoop3教程(二十六):(生产调优篇)NameNode核心参数配置与回收站的启用
文章目录 (143)NameNode内存配置(144)NN心跳并发配置(145)开启回收站参考文献 (143)NameNode内存配置 每个文件块(的元数据等)在内存中大概 占用150byte&…...
PaddleX场景实战:PP-TS在电压预测场景上的应用
时间序列是按照时间发生的先后顺序进行排列的数据点序列,简称时序。时间序列预测即运用历史的多维数据进行统计分析,推测出事物未来的发展趋势。时间序列预测是最常见的时序问题之一,在很多行业都有其应用,且通常时序预测效果对业…...
pdf误删恢复如何恢复?分享4种恢复方法!
如何将pdf误删恢复?使用电脑的时候,经常会需要使用到pdf文件,但是有时候,因为一些操作上的失误,我们会丢失一些重要的文件。如果你不小心将pdf误删了,该如何进行恢复呢? PDF文件丢失的原因可以…...
简析新能源汽车充电桩设计与应用
叶根胜 安科瑞电气股份有限公司 上海嘉定 201801 摘要:本文针对新能源汽车充电桩建设工作进行探究,采用案例分析法、文献查阅法,指出了新能源汽车充电桩建设存在的问题,阐述了充电桩建设与优化的对策。研究表明:目前…...
Java零基础入门-算术运算符
本文旨在帮助零基础的读者快速了解Java中的算术运算符,包括基本的加减乘除运算符、取余运算符、自增自减运算符等常见的数学运算符。 在学习本文前,需要先掌握基本的Java语法,包括数据类型、变量、赋值语句等。 前言 在编写Java程序时&…...
java实现hbase数据导出
1. HBase-client方式实现 1.1 依赖 <!--HBase依赖坐标--><dependency><groupId>org.apache.hbase</groupId><artifactId>hbase-client</artifactId><version>1.2.6</version></dependency><dependency><group…...
Unity之ShaderGraph如何实现旋涡效果
前言 今天我们来通过ShaderGraph来实现一个旋涡的效果 如下图所示: 主要节点 Distance:返回输入 A 和输入 B 的值之间的欧几里德距离。除了其他方面的用途,这对于计算空间中两点之间的距离很有用,通常用于计算有符号距离函数 (…...
【分布式】: 幂等性和实现方式
【分布式】: 幂等性和实现方式 幂等(idempotent、idempotence)是一个数学与计算机学概念, 常见于抽象代数中。在编程中一个幂等操作的特点是其任意多次执行所产生的影响均与一次执行的影响相同。幂等函数,或幂等方法,是…...
idea 设置serlvet 类模板(快捷生成servlet类)
我的版本是idea2020.3.4,博客中有相应安装教程,其他版本设置类似: 1.选择文件-->设置 2.选择编辑器-->文件和代码模板-->其他 3.选择Web-->Servlet Annotated Class.java-->复制相应模板,下面顺便设置了注释模板 …...
SpringBoot自动配置原理解析 | 京东物流技术团队
1: 什么是SpringBoot自动配置 首先介绍一下什么是SpringBoot,SpringBoost是基于Spring框架开发出来的功能更强大的Java程序开发框架,其最主要的特点是:能使程序开发者快速搭建一套开发环境。SpringBoot能将主流的开发框架(例如Sp…...
AOP 笔记
AOP【面向切面编程】 作用:在不惊动原始设计的基础上进行功能增强。 无侵入式编程 连接点:程序执行的任意位置,SpringAOP中,理解为方法的执行。 切入点:匹配连接点的式子,要追加功能的方法 通知(写在通…...
微信小程序导航退回及跳转 传参(navigateBack,navigateTo)
一、uniapp navigateBack 退回上一级 当前页面-传递参数 uni.$emit(update, params)uni.navigateBack({delta: 1});退回的页面-接收参数 可以写在 onLoad 和 onShow 里面 onLoad(o) {uni.$on(update, function(e) {//参数e}}onShow() {}返回前两级 uni.navigateBack({delta: 2}…...
python实例代码介绍python基础知识
TODO: 知识点仍有待整理 import 使用 import 关键字可以让你选择性地导入所需的模块,而不必导入整个模块库。这样可以减少内存占用和加载时间,尤其是当你只需要使用模块中的某些功能时。 同时,使用 import 可以提高代码的可读性和可维护性&…...
【每日一题】掷骰子等于目标和的方法数
文章目录 Tag题目来源题目解读解题思路方法一:动态规划 写在最后 Tag 【动态规划】【数组】 题目来源 1155. 掷骰子等于目标和的方法数 题目解读 你手里有 n 个一样的骰子,每个骰子都有 k 个面,分别标号 1 到 n。给定三个整数 n࿰…...
霸王条款惹品牌争议,京东双11站在商家对立面?
作者 | 江北 来源 | 洞见新研社 双11活动第一天,京东就站上了风口浪尖。 与烘焙烤箱品牌海氏的话题接连登上微博热搜,海氏控诉京东滥用市场竞争地位,破坏市场竞争秩序。在海氏的声明中,京东的行为让吃瓜群众大开眼界:…...
深度神经网络为何成功?其中的过程、思想和关键主张选择
LeNet(1989)在小数据集上取得了很好的效果,但是在更大、更真实地数据集上训练卷积神经网络地性能和可行性还有待研究。 与神经网络竞争的是传统机器学习方法,比如SVM(支持向量机)。这个阶段性能比神经网络方…...
什么是服务器节点?
一.服务器节点的概念: 服务器节点是一种服务器装置,节点服务器是针对服务器集群来说的。主要应用在WEB、FTP等等的服务上。所以节点服务器并不是单指某一种服务器。它由多个节点和管理装置整体的管理单元构成,其特征在于:各节点具…...
水电站与数据可视化:洞察未来能源趋势的窗口
在信息时代的浪潮中,数据可视化正成为推动能源领域发展的重要工具。今天,我们将带您一起探索水电站与数据可视化的结合,如何成为洞察未来能源趋势的窗口。水电站作为传统能源领域的重要组成部分,它的运行与管理涉及大量的数据。然…...
《Qt C++ 与 OpenCV:解锁视频播放程序设计的奥秘》
引言:探索视频播放程序设计之旅 在当今数字化时代,多媒体应用已渗透到我们生活的方方面面,从日常的视频娱乐到专业的视频监控、视频会议系统,视频播放程序作为多媒体应用的核心组成部分,扮演着至关重要的角色。无论是在个人电脑、移动设备还是智能电视等平台上,用户都期望…...
【Go】3、Go语言进阶与依赖管理
前言 本系列文章参考自稀土掘金上的 【字节内部课】公开课,做自我学习总结整理。 Go语言并发编程 Go语言原生支持并发编程,它的核心机制是 Goroutine 协程、Channel 通道,并基于CSP(Communicating Sequential Processes࿰…...
ServerTrust 并非唯一
NSURLAuthenticationMethodServerTrust 只是 authenticationMethod 的冰山一角 要理解 NSURLAuthenticationMethodServerTrust, 首先要明白它只是 authenticationMethod 的选项之一, 并非唯一 1 先厘清概念 点说明authenticationMethodURLAuthenticationChallenge.protectionS…...
2025盘古石杯决赛【手机取证】
前言 第三届盘古石杯国际电子数据取证大赛决赛 最后一题没有解出来,实在找不到,希望有大佬教一下我。 还有就会议时间,我感觉不是图片时间,因为在电脑看到是其他时间用老会议系统开的会。 手机取证 1、分析鸿蒙手机检材&#x…...
鸿蒙中用HarmonyOS SDK应用服务 HarmonyOS5开发一个生活电费的缴纳和查询小程序
一、项目初始化与配置 1. 创建项目 ohpm init harmony/utility-payment-app 2. 配置权限 // module.json5 {"requestPermissions": [{"name": "ohos.permission.INTERNET"},{"name": "ohos.permission.GET_NETWORK_INFO"…...
鸿蒙HarmonyOS 5军旗小游戏实现指南
1. 项目概述 本军旗小游戏基于鸿蒙HarmonyOS 5开发,采用DevEco Studio实现,包含完整的游戏逻辑和UI界面。 2. 项目结构 /src/main/java/com/example/militarychess/├── MainAbilitySlice.java // 主界面├── GameView.java // 游戏核…...
小白的进阶之路系列之十四----人工智能从初步到精通pytorch综合运用的讲解第七部分
通过示例学习PyTorch 本教程通过独立的示例介绍PyTorch的基本概念。 PyTorch的核心提供了两个主要特性: 一个n维张量,类似于numpy,但可以在gpu上运行 用于构建和训练神经网络的自动微分 我们将使用一个三阶多项式来拟合问题 y = s i n ( x ) y=sin(x) y=sin(x),作为我们的…...
C++ 变量和基本类型
1、变量的声明和定义 1.1、变量声明规定了变量的类型和名字。定义初次之外,还申请存储空间,也可能会为变量赋一个初始值。 如果想声明一个变量而非定义它,就在变量名前添加关键字extern,而且不要显式地初始化变量: e…...
分类数据集 - 场景分类数据集下载
数据集介绍:自然场景分类数据集,真实场景高质量图片数据;适用实际项目应用:自然场景下场景分类项目,以及作为通用场景分类数据集场景数据的补充;数据集类别:buildings、forest、glacier、mounta…...
【Unity】R3 CSharp 响应式编程 - 使用篇(二)
一、通用的事件监听用法 using System;using R3;using UnityEngine;namespace Aladdin.Standard.Observable.Common{public class CommonObservable : MonoBehaviour{// 默认会调用1次public SerializableReactiveProperty<int> serializableReactiveProperty;…...
