rabbitmq-3.8.15集群、集群镜像模式安装部署

目录

一、环境

1、映射、域名、三墙

2、Erlang和socat安装(三台服务器都实行)

二、部署三台rabbitmq-3.8.15实例

1、rabbitmq官网下载地址 : 

2、解压rabbitmq

3、添加系统变量

4、启动web插件、启动rabbitmq

5、在rabbitmq1上添加用户

三、部署集群

1、向2和3分发.erlang.cookie

 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 — RabbitMQicon-default.png?t=N7T8http://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

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

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

相关文章

在keil中debug分析单片机数据和函数调用过程(c51为例),使用寄存器组导致错误原因分析

寄存器参考 参考2 [寄存器组使用using参考](https://blog.csdn.net/weixin_46720928/article/details/110221835) keil中的using关键字参考 官方文档里关于using的说明可参阅2个地方,(1)keil软件菜单栏->Help->…

2023年中国汽车覆盖件模具竞争格局、市场规模及行业需求前景[图]

汽车覆盖件模具是汽车车身生产的重要工艺装备,其设计和制造时间约占汽车开发周期的 2/3,是汽车换型的重要制约因素之一。汽车覆盖件模具具有尺寸大、工作型面复杂、技术标准高等特点,属于技术密集型产品。汽车覆盖件模具按以其冲压的汽车覆盖…

【tg】6: MediaManager的主要功能

【tg】2:视频采集的输入和输出 的管理者是 media manager‘ media 需要 network的支持:NetworkInterface friend class MediaManager::NetworkInterfaceImpl;NetworkInterfaceImpl 直接持有 MediaManager 的指针即可:发送rtp包、rtcp包、设置socket选项?

NodeMCU ESP8266 读取按键外部输入信号详解(图文并茂)

NodeMCU ESP8266 读取按键外部输入信号教程(图文并茂) 文章目录 NodeMCU ESP8266 读取按键外部输入信号教程(图文并茂)前言按键输入常用接口pinModedigitalRead 示例代码结论 前言 ESP8266如何检测外部信号的输入,通常…

JVM——一些零散的概念(后续学习深入了再补充)

Native 凡是带了native关键字的,说明Java的作用范围的达不到了,需要调用底层C语言的库 调用native方法,会进入本地方法栈,调用本地接口(JNI) JNI的作用:扩展Java的使用,融合不同的编程语言为Java所用 它在内…

适合在虚拟化环境中部署 Kubernetes 的三个场景

在《虚拟化 vs. 裸金属:K8s 部署环境架构与特性对比》文章中,我们从架构和特性的角度,对比了在虚拟化和裸金属环境部署 Kubernetes 的优劣势,并在文末列举了两者更适合的应用场景。本文,我们将聚焦以虚拟化环境支持 K8…

【LeetCode刷题】1两数之和

为找工作,我的代码都是用的JAVA,慢慢学习中。 LeetCode刷题Day1 两数之和 给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。 你可以假设每种输入…

《动手学深度学习 Pytorch版》 10.2 注意力汇聚:Nadaraya-Watson 核回归

import torch from torch import nn from d2l import torch as d2l1964 年提出的 Nadaraya-Watson 核回归模型是一个简单但完整的例子,可以用于演示具有注意力机制的机器学习。 10.2.1 生成数据集 根据下面的非线性函数生成一个人工数据集,其中噪声项 …

如何正确地使用ChatGPT(角色扮演+提示工程)

如何正确地使用ChatGPT(角色扮演提示工程) 一、ChatGPT介绍二、准备工作2.1 获取ChatGPT环境2.2 确定使用ChatGPT的目标和需求 三、重要因素3.1 角色赋予3.2 提示工程 四、正确案例4.1 工作日报4.2 工作总结 一、ChatGPT介绍 可以查阅ChatGPT快速入门 …

【Javascript】运算符(赋值,算术,自增,自减)

目录 赋值 算术 单个变量: 多个变量: 在字符串,数组中充当连接符 自符串与字符串 数组与数组 数组与字符串 自增与自减 前置 自增 自减 后置 自增 自减 赋值 var a 1;算术 单个变量: var a 1;a 1;console.l…

Java算法做题中用到的-数据结构(对应C++的STL)【java中各种集合的api方法】

Java算法做题中用到的-数据结构(对应C的STL) 一、数组List初始化加入元素: add删除元素: remove(参数是角标)获取元素:getindexOf() 返回指定元素下标contains()toArray() 排序方法一&#xff1…

代码随想录算法训练营第三十二天 | LeetCode 122. 买卖股票的最佳时机 II、55. 跳跃游戏、45. 跳跃游戏 II

代码随想录算法训练营第三十二天 | LeetCode 122. 买卖股票的最佳时机 II、55. 跳跃游戏、45. 跳跃游戏 II 文章链接:买卖股票的最佳时机 II 跳跃游戏 跳跃游戏 II 视频链接:买卖股票的最佳时机 II 跳跃游戏 跳跃游戏 II 目…

Modeling Deep Learning Accelerator Enabled GPUs

Modeling Deep Learning Accelerator Enabled GPUs 发表在 ISPASS 2019 上。文章研究了 NVIDIA 的 Volta 和 Turing 架构中张量核的设计,并提出了 Volta 中张量核的架构模型。 基于 GPGPU-Sim 实现该模型,并且支持 CUTLASS 运行。发现其性能与硬件非常吻…

SystemVerilog Assertions应用指南 Chapter1.38在序列匹配时调用子程序

SVA可以在序列每次成功匹配时调用子程序。同一序列中定义的局部变量可以作为参数传给这些子程序。对于序列的每次匹配,子程序调用的执行与它们在序列定义中的顺序相同。 module sub;logic a, b, clk;initial $vcdpluson();initial begin clk 1b0; a1b0; b1b0; repeat(2) (pos…

如何复制禁止复制的内容

今天找到一段代码,但是复制时页面提示“这个是VIP会员才有的权限”。我该怎么复制呢。 现在的平台大都是用钱说话,以便响应知识付费的主张。对错我就不说了,我认为既然我有权利看到代码,当然也有权把他复制下来。这并不涉及侵权。…

【嵌入式-Linux】安装实时内核

原文链接:Docs 所有内容链接:博客学习目录_Howe_xixi的博客-CSDN博客 参考链接:Ubuntu 18.04安装 RT-PREEMPT 实时内核及补丁【过程记录】_fully preemptible kernel(rt)_黄小白的进阶之路的博客-CSDN博客 Ubuntu20.04编译Linux内核_zstd: n…

【wvp】wvp设备上可以开启tcp被动模式

目录 开启了 tcp被动模式 开启UDP模式 地平线不支持这种tcp情况 开启了 tcp被动模式 我的理解是zlm就会是tcp被动收流模式 tcpdump -i any host 10.1.3.7 and tcp 而wvp->浏览器,是SRTP,其实还是基于zlm8000的udp端口出来的 开启UDP模式 tcpdump -i any host…

【Reinforcement Learning】Ubuntu中mujoco210 mujoco_py D4RL安装及错误解决

Ubuntu中mujoco210 mujoco_py D4RL安装及错误解决 本文根据一篇知乎文章链接在此进行配置,记录在配置过程中遇到的一些问题,原文作者的教程很详细,在此对原作者表示感谢~ 直接进行知乎原文的第2.2 有效安装过程(避坑) 2.注意上…

Django viewsets 视图集与 router 路由实现评论接口开发

正常来说遵循restful风格编写接口,定义一个类包含了 get post delete put 四种请求方式,这四种请求方式是不能重复的 例如:获取单条记录和多条记录使用的方式都是get,如果两个都要实现的话那么得定义两个类,因为在同一个类中不能有…

【rust/树莓派】使用rppalembedded-graphics控制st7789 LCD屏幕

说在前面 树莓派版本:4bLCD模块:ST7789V2 240*280 LCD树莓派系统:Linux raspberrypi 5.15.76-v8 #1597 SMP aarch64 GNU/Linuxrust版本:rustc 1.73.0 模块详情 某雪的1.69inch LCD模块,包含杜邦线 准备工作 树莓派…