当前位置: 首页 > news >正文

RabbitMQ的集群

新建一个虚拟机,重新安装一个RabbitMQ,不会安装的可以看下面的连接:

在Linux中安装RabbitMQ_流殇꧂的博客-CSDN博客

        1.修改/etc/hosts映射文件,两台虚拟机都需要修改

vim /etc/hosts
127.0.0.1 node1 localhost.localdomain localhost4 localhost4.localdomain4
::1 node1 localhost.localdomain localhost6 localhost6.localdomain6
192.168.40.100 node1
192.168.40.101 node2

        

        2.修改完成后重启linux服务器:

reboot

        3.查看.erlang.cookie文件的位置: 

find / -name .erlang.cookie

        4.使用跨服务器拷贝.erlang.cookie文件到每台节点

        

scp /var/lib/rabbitmq/.erlang.cookie 192.168.40.101:/root

        回车后输入另一台主机的密码即可

         5.同步完成后需重启linux服务器:

reboot

         6.关闭两台服务器的防火墙,启动RabbitMQ的服务:

               关闭服务器的防火墙:  

systemctl stop firewalld

               启动RabbitMQ的服务:

rabbitmq-server -detached

          7.加入集群节点(一个配置即可):

        

rabbitmqctl stop_app
rabbitmqctl join_cluster rabbit@node1
rabbitmqctl start_app

        8.在任意一台服务器运行该命令:

rabbitmqctl cluster_status

         如下图所以,表示集群配置成功

 

         9.在新的集群中重新手动添加用户(任意节点添加,所有节点共享)

                

rabbitmqctl add_user leq 123456

                

rabbitmqctl set_user_tags leq administrator

        

rabbitmqctl set_permissions -p "/" leq ".*" ".*" ".*"

        

         10.我们通过192.168.40.100来创建一个虚拟机,在192.168.40.101中也可以查看到,两个RabbitMQ共享了数据

 

         此时,集群搭建完毕,但是默认采用的模式普通模式,可靠性不高。因此,需将RabbitMQ改为镜像模式

镜像模式:

       语法:  set_policy {name} {pattern} {definition}

        参数的含义:

        name:表示策略名,名称自定义

        pattern:队列的匹配模式,使用正则表达式进行匹配。"^"表示匹配所有的队列

        definition:镜像定义,包括三个部分ha-mode、ha-params和ha-sync-mode

                ha-mode:High Available高可用,简称HA。指明镜像队列的模式,有效值为all/exactly/nodes(all所有节点,exactly指定多个节点,nodes制定单个节点)

                ha-params:表示ha-mode模式需要用到的参数

                ha-sync-mode:进行队列中消息的同步方式,有效值为automatic和manual 

        1.通过命令的方式设置镜像模式策略,在任意一个节点上执行:

                rabbitmqctl set_policy xall "^" '{"ha-mode":"all"}'

         2.也可以通过RabbitMQ的可视化端口进行设置

        

 

http://www.lryc.cn/news/94636.html

相关文章:

  • 超长上下文处理:基于Transformer上下文处理常见方法梳理
  • ChatGPT爆火 但生成式AI并非全新产物
  • 深度学习循环神经网络
  • 如何规范的设计数据库表
  • 【CSS】跳动文字
  • arm海思启动udev的错误
  • 网络协议与攻击模拟-15-DNS协议
  • ChatGPT将改变教育,而不是摧毁它
  • springboot在线考试
  • C国演义 [第三章]
  • 数字化时代,企业的数据指标体系
  • 三分钟了解 RocketMQ消息队列
  • golang redis第三方库github.com/go-redis/redis/v8实践
  • 校园网WiFi IPv6免流上网
  • java 阿里云直播配置及推拉流地址获取
  • PostgreSql 限制
  • 2023年java还是golang还是c#?
  • 微服务、SpringBoot、SpringCloud 三者的区别
  • 2023-07-10 cmake管理的项目中使用vcpkg管理第三方库
  • 【剑指offer】学习计划day3
  • QT DAY1
  • Mybatis-puls——条件查询的三种格式+条件查询null判定+查询投影
  • 网络安全(黑客)自学
  • 通过一个实际例子说明Django中的数据库操作方法OneToOneField()的用法【数据表“一对一”关系】
  • HarmonyOS学习路之开发篇—数据管理(对象关系映射数据库)
  • 实验:验证TCP套接字传输的数据不存在数据边界
  • 【网络】协议的定制与Json序列化和反序列化
  • 浙大数据结构第一周最大子列和问题
  • Selenium基础 — Selenium自动化测试框架介绍
  • 力扣竞赛勋章 | 排名分数计算脚本