13.rabbitmq集群搭建

2023-05-16

rabbitmq集群搭建和镜像队列

集群搭建

准备三台服务器

  • 172.16.140.133 Jan
  • 172.16.140.132 Feb
  • 172.16.140.133 Mar

修改3台机器的hosts文件

vim /etc/hosts

添加以下内容

172.16.140.130 Jan
172.16.140.131 Feb
172.16.140.132 Mar

确保各个节点的cookie文件使用的是同一个值

scp /root/.erlang.cookie root@Feb:/root/.erlang.cookie 

在这里插入图片描述

  • .erlang.cookie的位置,如果是二进制安装的话是在$HOME下,可以用ll -a去查看
  • 如果是rpm安装的话,在/var/lib/rabbitmq/.erlang.cookie
scp /root/.erlang.cookie root@Mar:/root/.erlang.cookie

在这里插入图片描述

查看各个节点的文件内容是否一致

在这里插入图片描述

在三台服务器上都启动rabbitmq服务

rabbitmq-server -detached

Feb上执行

  • 关闭rabbitmq服务

    • rabbitmqctl stop会将erlang虚拟机关闭,rabbitmqctl stop_app只关闭rabbitmq服务
    rabbitmqctl stop_app
    
  • 重置服务

    rabbitmqctl reset
    
  • 加入节点Jan

    rabbitmqctl join_cluster rabbit@Jan
    
    • Jan要开启25672和4369端口

      firewall-cmd --add-port=25672/tcp --permanent
      firewall-cmd --add-port=4369/tcp --permanent
      
  • 重新启动应用服务

    rabbitmqctl start_app
    

Mar上执行

  • 关闭rabbitmq服务

    • rabbitmqctl stop会将erlang虚拟机关闭,rabbitmqctl stop_app只关闭rabbitmq服务
    rabbitmqctl stop_app
    
  • 重置服务

    rabbitmqctl reset
    
  • 加入节点Feb

    rabbitmqctl join_cluster rabbit@Feb
    
  • 重新启动应用服务

    rabbitmqctl start_app
    

查看集群状态

rabbitmqctl cluster_status

在这里插入图片描述

解除集群状态(需要解除的机器上)

rabbitmqctl stop_app 
rabbitmqctl reset 
rabbitmqctl start_app 
rabbitmqctl cluster_status

或者

  • 在需要解除的机器上

    rabbitmqctl stop_app
    
  • 在主节点上

    rabbitmqctl forget_cluster_node rabbit@Feb
    

镜像队列

镜像队列的机制,可以将队列镜像到底集群中的其他Broker节点之上,如果集群中的一个节点失效了,队列能自动的切换到镜像中的另一个节点上以保证服务的可用性

  • 启动三台集群节点

  • 随便找一个节点添加policy

在这里插入图片描述

  • 新建一个队列,队列的名称应当符合定义的policy的pattern

  • 新建一个队列

在这里插入图片描述

  • 关闭rabbit@Jan之后,发现node变成了rabbit@Mar,Mirrors 变成了rabbit@Feb

  • 就算整个集群只剩下一台机器了,依然能消费队列里面的消息

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

13.rabbitmq集群搭建 的相关文章

随机推荐

  • docker常用命令

    1 配置docker阿里云镜像 1 打开daemon json文件 xff08 若没有此文件 xff0c 则创建 etc docker daemon json xff09 xff1a vi etc docker daemon json 2
  • 网络调试助手UDP广播问题

    用直接广播地址 xff08 192 168 xxx 255 端口 xff09 可以进行广播 xff1b 用受限广播地址 xff08 255 255 255 255 端口 xff09 显示没有指定有效的远程主机端口 xff0c 搞了好久发现是
  • “平衡小车之家”家的STM32F103最小系统源代码分享

    在网上寻找了好久 xff0c 因为他家的开发板自带有mpu6050模块 故想测试其精准度以及z轴漂移程度 发现也有很大的漂移 代码如下 main c部分 xff1a span class token macro property span
  • 使用PMW3901和VL53L1X 实现室内定点悬停

    使用PMW3901和VL53L1X 实现室内定点悬停 使用PMW3901 光流传感器进行水平方向定位Pixhawk连接PMW3901传感器PX4源代码加入PMW3901驱动后重新编译QGroundControl中的配置 使用气压计和VL53
  • 使用 QGroundControl 地面站更新 PixHawk飞控的Bootloader

    安装最新版本的PX4固件 启动QGroundControl并且使用USB连接到Pixhawk飞控 选择 Q icon gt Vehicle Setup gt Firmware sidebar 打开固件设置 安装最新版本的PX4固件 更新Bo
  • 自制DIY 机器狗 完全教程 - MIT猎豹Cheetah

    自制DIY 机器狗 完全教程 MIT猎豹Cheetah 背景结构设计模块化关节电机性能考虑关节结构 四足平台设计腿部设计身体设计脚部设计 硬件设计关节驱动器通信总线板供电系统 控制系统人工智能 背景 3年前 xff0c MIT开源了世界上跑
  • centos安装wxWidgets,erlang,RabbitMq

    centos安装wxWidgets erlang RabbitMq 默认已经安装了java环境 而安装RabbitMq需要安装erlang xff0c 安装erlang又需要安装wxWidgets 安装wxWidgets 更新系统 yum
  • 2.rabbitmq概述和helloworld

    rabbitmq概述 rabbitmq中的几个概念 BROKER 接收和分发消息的应用 xff0c RabbitMQ Server 就是 Message Broker Virtual Host 出于多租户和安全因素设计的 xff0c 把 A
  • 3.rabbitmq轮询和不公平分发

    rabbitmq轮询和不公平分发 rabbitmq轮询分发 rabbitmq默认是使用轮询来分发消息的 测试代码如下所示 生产者代码 span class token comment 生产者 task rabbitmq 轮询演示 span
  • 4.rabbitmq消息应答

    rabbitmq消息应答 概述 消息应答就是消费者在收到消息的时候 xff0c 在它接收到消息并处理完毕之后 xff0c 告诉rabbitmq它已经处理完了 xff0c rabbitmq可以删除这个消息了 消息应答的方式 channel b
  • 5.rabbitmq持久化

    rabbitmq持久化 队列的持久化 队列的持久化需要我们在声明的时候指定其持久化 使用durable 61 true来持久化队列 span class token comment 队列的持久化 span span class token
  • 关于双控阵列的实现原理的讨论

    xfeff xfeff http bbs chinaunix net forum viewthread tid 4140392 html 对于一个支持FC SAN的双控存储阵列 xff0c 对外号称active active xff0c 实
  • 6.rabbitmq中exchange的几种形式

    rabbitmq中exchange的几种形式 RabbitMQ 消息传递模型的核心思想是 生产者生产的消息从不会直接发送到队列 实际上 xff0c 通常生产 者甚至都不知道这些消息传递传递到了哪些队列中 相反 xff0c 生产者只能将消息发
  • 7.rabbitmq死信和死信队列

    rabbitmq死信和死信队列 概述 先从概念解释上搞清楚这个定义 xff0c 死信 xff0c 顾名思义就是无法被消费的消息 xff0c 字面意思可以这样理 解 xff0c 一般来说 xff0c producer 将消息投递到 broke
  • 8.rabbitmq发布确认

    rabbitmq发布确认 生产者将信道设置成 confirm 模式 xff0c 一旦信道进入 confirm 模式 xff0c 所有在该信道上面发布的 消息都将会被指派一个唯一的 ID 从 1 开始 xff0c 一旦消息被投递到所有匹配的队
  • 9.延迟队列

    延迟队列 延迟队列的概念 延时队列 队列内部是有序的 xff0c 最重要的特性就体现在它的延时属性上 xff0c 延时队列中的元素是希望 在指定时间到了以后或之前取出和处理 xff0c 简单来说 xff0c 延时队列就是用来存放需要在指定时
  • 10.回退消息

    rabbitmq回退消息 mandatory参数 在仅开启了生产者确认机制的情况下 xff0c 交换机接收到消息后 xff0c 会直接给消息生产者发送确认消息 xff0c 如果发现该消息不可路由 xff0c 那么消息会被直接丢弃 xff0c
  • 11.备份交换机

    备份交换机 概念 当交换机收到一条不可路由消息时 xff0c 将会把这条消息转发到备份交换机中 xff0c 由备份交换机来进行转发和处理 xff0c 通常备份交换机的类型为fanout xff0c 这样就能把所有消息都投递到与其绑定的队列中
  • 12.优先级队列和惰性队列

    优先级队列 如何添加优先级 选择Maximum priority xff0c 指定优先级的数值 xff0c 设定范围为0 255 xff0c 如果值为10 xff0c 那么就是0 10 xff0c 最大不能超过255 代码形式 span c
  • 13.rabbitmq集群搭建

    rabbitmq集群搭建和镜像队列 集群搭建 准备三台服务器 172 16 140 133 Jan172 16 140 132 Feb172 16 140 133 Mar 修改3台机器的hosts文件 span class token fu