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 镜像模式集群的搭建的更多相关文章

  1. RabbitMQ 3.9.7 镜像模式集群与Springboot 2.5.5 整合

    1. 概述 老话说的好:做人要懂得变通,善于思考,有时稍微转个弯,也许问题就解决了. 言归正传,之前我们聊了 RabbitMQ 3.9.7 镜像模式集群的搭建,今天我们来聊聊 RabbitMQ 3.9 ...

  2. RabbitMQ镜像队列集群搭建、与SpringBoot整合

    镜像模式 集群模式非常经典的就是Mirror镜像模式,保证100%数据不丢失,在实际工作中也是用的最多的,并且实现集群比较的简单. Mirror镜像队列,目的是为了保证 RabbitMQ 数据的高可靠 ...

  3. Centos7部署RabbitMQ的镜像队列集群

    一.背景 在上一章节中,我们学会了如何搭建一个单节点的RabbitMQ服务器,但是单节点的RabbitMQ不可靠,如果单节点挂掉,则会导致消息队列不可用.此处我们搭建一个3个节点的RabbitMQ集群 ...

  4. RabbitMQ (十三) 集群+单机搭建(window)

    拜读了网上很多前辈的文章,对RabbitMQ的集群有了一点点认识. 好多文章都说到,RabbitMQ的集群分为普通集群和镜像集群,有的还加了两种:单机集群和主从集群. 我看来看去,看了半天,怎么感觉, ...

  5. RabbitMQ的使用(二)- RabbitMQ服务在单机中做集群

    RabbitMQ的使用(二)- RabbitMQ服务在单机中做集群 作者:markjiang7m2 原文地址:https://www.cnblogs.com/markjiang7m2/p/128371 ...

  6. RabbitMQ和Kafka的高可用集群原理

    前言 小伙伴们,通过前边文章的阅读,相信大家已经对RocketMQ的基本原理有了一个比较深入的了解,那么大家对当前比较常用的RabbitMQ和Kafka是不是也有兴趣了解一些呢,了解的多一些也不是坏事 ...

  7. 制作docker-jdk7-zookeeper镜像(非集群版)

    ## 准备工作 用到的工具, Xshell5, Xftp5, jdk-7u79-linux-x64.tar.gz, zookeeper-3.4.9.tar.gz, docker.io/centos:l ...

  8. rabbitmq安装及基本操作(含集群配置)

    一.rabbitmq的安装 因为rabbitmq是基于 erlang语言开发,所有要先安装erlang 1.安装erlang 这里我下载的是19.2的版本,地址为https://www.erlang. ...

  9. Nodejs【单机】多进程模式集群

    Nodejs[单机]多进程模式集群实例: 1.安装:npm install -s cluster 2.服务代码: var debug = require('debug'); var express = ...

随机推荐

  1. iphdr结构

    包含在/usr/src/linux/include/linux/ip.h 1 struct iphdr { 2 #if defined(__LITTLE_ENDIAN_BITFIELD) 3 __u8 ...

  2. SoutceTree用户名或者密码输入错误解决方案

    soutceTree在拉取代码时候需要输入账户名或者密码,如果一时输入错了,可以这样修改: 1.找到这个目录:C:\Users\Administrator\AppData\Local\Atlassia ...

  3. (1)hadoop之----linux配置jdk环境

    首先Linux中应有jdk包 运用flashFXP上传文件,xshell连接linux系统 我一般将文件放在个人目录下softwear目录 ,软件装在个人目录下app目录 cd software    ...

  4. SpringCloud商品服务调用方式之Ribbon

    1.创建order_service项目 pom依赖 <dependency> <groupId>org.springframework.boot</groupId> ...

  5. 4、kubernetes基础概念

    一.基础概念 1.Master节点 整个集群的控制中枢.Master节点是Kubernetes集群的控制节点,在生产环境中不建议部署集群核心组件外的任何Pod,公司业务的Pod更是不建议部署到Mast ...

  6. spring-data-redis 动态切换数据源

    最近遇到了一个麻烦的需求,我们需要一个微服务应用同时访问两个不同的 Redis 集群.一般我们不会这么使用 Redis,但是这两个 Redis 本来是不同业务集群,现在需要一个微服务同时访问. 其实我 ...

  7. VSCode 在.vscode/launch.json中设置启动时的参数

    如下脚本设置启动参数,如题,在.vscode/launch.json文件中,红色部分设置运行参数 { // Use IntelliSense to learn about possible attri ...

  8. TensorFlow-Slim 简介+Demo

    github介绍:https://github.com/tensorflow/tensorflow/tree/master/tensorflow/contrib/slim 基于slim实现的yolo- ...

  9. tomcat配置启动不了

    关于ideatomcat配置问题 1.第一步配置tomcat启动器 2.配置启动的网址 3.配置启动器的启动 ---更多java学习,请见本人小博客:https://zhangjzm.gitee.io ...

  10. 微信小程序 image 组件 src 请求不能设置 header 的问题

    只能先 wx.downloadFile 得到 tempFilePath,然后设置 src = tempFilePath