RabbitMQ 3.9.7 镜像模式集群的搭建
1. 概述
老话说的好:做人脚踏实地,一步一个脚印,便定能战胜一切困难,最终取得成功!!!
言归正传,之前我们聊了 RabbitMQ 单点服务的安装,今天我们来聊聊 RabbitMQ 3.9.7 镜像模式集群的搭建。
RabbitMQ 的镜像模式集群能够保证数据100%不丢失,实际工作中用的最多,实现也很简单,通常由3个节点组成。
2. 场景说明
服务器A IP:192.168.1.22
服务器B IP:192.168.1.8
服务器C IP:192.168.1.144
服务器A hostname:zhuifengren1
服务器B hostname:zhuifengren2
服务器C hostname:zhuifengren3
这三台服务器都已经安装了 RabbitMQ 3.9.7,并启动正常。
单点 RabbitMQ 的安装,可参见我的另一篇文章《RabbitMQ3.9.7在CentOS7中的安装搭建》。
3. 镜像模式集群的搭建
3.1 修改三台机器的名称,并在hosts中进行设置(机器名称随意)
# vi /etc/hostname



# vi /etc/hosts

3.2 启动3台服务器上的 RabbitMQ 服务
# /sbin/service rabbitmq-server start
3.3 在启动状态下,将服务器A上的 .erlang.cookie文件 拷贝到 服务器B 和 服务器C 上
# scp /var/lib/rabbitmq/.erlang.cookie 192.168.1.8:/var/lib/rabbitmq/
# scp /var/lib/rabbitmq/.erlang.cookie 192.168.1.144:/var/lib/rabbitmq/
3.4 使用 rabbitmqctl stop 命令停止3台服务器的RabbitMQ服务
# rabbitmqctl stop
注意:这里不能使用之前的 /sbin/service rabbitmq-server stop 命令,停止服务
如果出现无法停止的情况,可尝试使用 /sbin/service rabbitmq-server stop 命令停止后,再使用 /sbin/service rabbitmq-server start 命令启动,
然后再使用 rabbitmqctl stop 命令停止。
3.5 使用 rabbitmq-server -detached 命令启动3台服务器
(有些慢,耐心等待,可以使用 lsof -i:5672 命令查看是否启动)
# rabbitmq-server -detached
3.6 将从节点加入集群
我们这里将 服务器A 作为主节点,将 服务器B、服务器C 作为从节点
在 服务器B 和 服务器C 执行以下操作:
# rabbitmqctl stop_app
# rabbitmqctl reset
# rabbitmqctl join_cluster rabbit@zhuifengren1
# rabbitmqctl start_app
3.7 配置镜像模式
在任意节点执行即可。
# rabbitmqctl set_policy ha-all "^" '{"ha-mode":"all"}'
3.8 查看集群状态
# rabbitmqctl cluster_status

3.9 控制台效果



3.10 从集群中移除节点
1)在需要移除的节点上执行停止命令
# rabbitmqctl stop_app
2)在其他节点上执行移除节点命令
# rabbitmqctl forget_cluster_node rabbit@zhuifengren2
4. 综述
今天聊了一下 RabbitMQ 3.9.7 镜像模式集群的搭建,希望可以对大家的工作有所帮助。
欢迎帮忙点赞、评论、转发、加关注 :)
关注追风人聊Java,每天更新Java干货。
rabbitmqctl
stop
RabbitMQ 3.9.7 镜像模式集群的搭建的更多相关文章
- RabbitMQ 3.9.7 镜像模式集群与Springboot 2.5.5 整合
1. 概述 老话说的好:做人要懂得变通,善于思考,有时稍微转个弯,也许问题就解决了. 言归正传,之前我们聊了 RabbitMQ 3.9.7 镜像模式集群的搭建,今天我们来聊聊 RabbitMQ 3.9 ...
- RabbitMQ镜像队列集群搭建、与SpringBoot整合
镜像模式 集群模式非常经典的就是Mirror镜像模式,保证100%数据不丢失,在实际工作中也是用的最多的,并且实现集群比较的简单. Mirror镜像队列,目的是为了保证 RabbitMQ 数据的高可靠 ...
- Centos7部署RabbitMQ的镜像队列集群
一.背景 在上一章节中,我们学会了如何搭建一个单节点的RabbitMQ服务器,但是单节点的RabbitMQ不可靠,如果单节点挂掉,则会导致消息队列不可用.此处我们搭建一个3个节点的RabbitMQ集群 ...
- RabbitMQ (十三) 集群+单机搭建(window)
拜读了网上很多前辈的文章,对RabbitMQ的集群有了一点点认识. 好多文章都说到,RabbitMQ的集群分为普通集群和镜像集群,有的还加了两种:单机集群和主从集群. 我看来看去,看了半天,怎么感觉, ...
- RabbitMQ的使用(二)- RabbitMQ服务在单机中做集群
RabbitMQ的使用(二)- RabbitMQ服务在单机中做集群 作者:markjiang7m2 原文地址:https://www.cnblogs.com/markjiang7m2/p/128371 ...
- RabbitMQ和Kafka的高可用集群原理
前言 小伙伴们,通过前边文章的阅读,相信大家已经对RocketMQ的基本原理有了一个比较深入的了解,那么大家对当前比较常用的RabbitMQ和Kafka是不是也有兴趣了解一些呢,了解的多一些也不是坏事 ...
- 制作docker-jdk7-zookeeper镜像(非集群版)
## 准备工作 用到的工具, Xshell5, Xftp5, jdk-7u79-linux-x64.tar.gz, zookeeper-3.4.9.tar.gz, docker.io/centos:l ...
- rabbitmq安装及基本操作(含集群配置)
一.rabbitmq的安装 因为rabbitmq是基于 erlang语言开发,所有要先安装erlang 1.安装erlang 这里我下载的是19.2的版本,地址为https://www.erlang. ...
- Nodejs【单机】多进程模式集群
Nodejs[单机]多进程模式集群实例: 1.安装:npm install -s cluster 2.服务代码: var debug = require('debug'); var express = ...
随机推荐
- C# AppDomain 详解
AppDomain 详解 AppDomain是CLR的运行单元,它可以加载Assembly.创建对象以及执行程序. AppDomain是CLR实现代码隔离的基本机制.每一个AppDomain可以单独运 ...
- 如何在指定的地址上创建C++对象
如果已经掌握在静态存储区上创建对象的方法,那么可以扩展一下,可以在任意地址上创建C++对象. 解决方案:-在类中重载new/delete操作符-在new的操作符重载函数中返回指定的地址-在delete ...
- centos6.10下安装mysql8.0.16root密码修改的坑
上图截取别人的自己懒得弄,检查自己的linux是否有安装就按上图做就行了 接下来是我的干货 mysql8.0安群策略对密码设置很严格规则:大小写加数字和特殊字符串 使用yum安装mysql 后 my. ...
- ES6扩展——数值扩展
1.0o代表八进制 0b代表二进制 ,通过Number()可转为10进制: //0o 0O octanary八进制 //0b 0B binary二进制 console.log(0o16); //14 ...
- 细说Typescript类型检查机制
上一篇文章我介绍了Typescript的基础知识,回顾一下,有基础数据类型.数组.函数.类.接口.泛型等,本节内容将述说一下Typescript为方便我们开发提供了一些类型检查机制. 类型检查机制 类 ...
- Java变量命名规范
java命名规范 所有方法.变量.类名:见名知意 类成员变量:首字母小写.驼峰原则: 例如:lastName 第一个单词首字母小写,其余首字母大写 局部变量:首字母小写.驼峰原则 类名: 首字母小写. ...
- 临时性备用 socks 巧(科)妙(学)上网,你懂的,不多解释
最近 Shadowsock s 不稳定,极大的影响了工作效率.不过 ssh 还能连上自己的机器,所以掏出 ssh -D 满足自己 #!/usr/bin/env bash disable_proxy() ...
- 洛谷P2115 Sabotage G 题解
题目 [USACO14MAR]Sabotage G 题解 本蒟蒻又来了,这道题可以用二分答案来解决.我们可以设答案最小平均产奶量为 \(x \ (x \in[1,10000])\) .然后二分搜索 \ ...
- SAR总结
1.星载InSAR技术简介 星载合成孔径雷达干涉测量(InSAR)是一种用于大地测量和遥感的雷达技术.InSAR使用两个或多个SAR图像,利用返回卫星的波的相位差来计算目标地区的地形.地貌以及表面的微 ...
- Appium问题解决方案(7)- Could not find 'adb.exe' in PATH. Please set the ANDROID_HOME environment variable with the Android SDK root directory path
背景:运行代码提示找不到ADB An unknown server-side error occurred while processing the command. Original error: ...