RabbitMq搭建集群

本文详细介绍了如何搭建RabbitMQ集群,包括修改虚拟机名称、配置hosts文件、设置cookie、解除集群等步骤,并强调了镜像队列在数据备份中的重要性。此外,还探讨了使用Haproxy实现负载均衡,确保在主机宕机时能保持服务连续性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

1、准备好三台虚拟机

1.1、修改三台虚拟机名称

1.2、 修改 hosts 文件让各个节点都能互相识别对方

1.3、 设置cookie文件

1.4、解除集群

2、镜像队列(相当于备份)

2.1、搭建步骤

3、Haproxy  实现负载均衡


1、准备好三台虚拟机

可以用通过克隆的方式进行创建

1.1、修改三台虚拟机名称

1.修改名称 

        这里设置的三台名称分别是 node1 node2 node3

        vim /etc/hostname  (根据自己情况自定义)

2.重启虚拟机

        reboot

3.查看名称修改情况

        hostname

        

1.2、 修改 hosts 文件让各个节点都能互相识别对方

1.三台虚拟机都要设置,让它们互相认识

        vim /etc/hosts

        

1.3、 设置cookie文件

1.在node1上执行操作命令(注意名称)

        scp /var/lib/rabbitmq/.erlang.cookie root@node2:/var/lib/rabbitmq/.erlang.cookie

         scp /var/lib/rabbitmq/.erlang.cookie root@node3:/var/lib/rabbitmq/.erlang.cookie

2.重启(三台都重启)

        rabbitmq-server -detached

3.在node2上执行

        rabbitmqctl stop_app
        (rabbitmqctl stop 会将 Erlang 虚拟机关闭,rabbitmqctl stop_app 只关闭 RabbitMQ 服务)
        rabbitmqctl reset
        rabbitmqctl join_cluster rabbit@node1
        rabbitmqctl start_app(只启动应用服务)

4.在node3上执行(node2启动完成才能执行node3)

        rabbitmqctl stop_app
        rabbitmqctl reset
        rabbitmqctl join_cluster rabbit@node2
        rabbitmqctl start_app

5.查看集群状态

        rabbitmqctl cluster_status

        

 6.重新设置用户

        创建账号
                rabbitmqctl add_user admin 123
        设置用户角色
                rabbitmqctl set_user_tags admin administrator
        设置用户权限
                rabbitmqctl set_permissions -p "/" admin ".*" ".*" ".*"

7.登录管理页面查看        

1.4、解除集群

1.解除集群节点(node2 和 node3 机器分别执行)
        rabbitmqctl stop_app
        rabbitmqctl reset
        rabbitmqctl start_app
        rabbitmqctl cluster_status


        rabbitmqctl forget_cluster_node rabbit@node2(node1 机器上执行)

        rabbitmqctl forget_cluster_node rabbit@node3(node1 机器上执行)

2、镜像队列(相当于备份)

为什么要设置镜像队列:在1号机上创建的队列2号机上没有

在集群中当一台机器宕机了,在重启数据就会丢失。所以用到了镜像队列

2.1、搭建步骤

1.随便找一个节点添加policy

 

 2.设置完成后当节点1宕机后,数据就不会丢失,会自动保存在另一个节点中。

        这里没有强制设置镜像到某个节点所以镜像随机生成

        

        相当于:三个节点,在1节点生成队列,就会随机在其他俩节点上复制(镜像)一个队列。当1节点宕机,其他俩节点中随机生成的队列就不会消失。还会自动在备份一份到没有队列的节点中。

 

总结:随着机器的宕机它会把数据移到其他机器上,只要有一台机器存在数据就不会丢失。

3、Haproxy  实现负载均衡

某个主机宕机了,备机就接替它的工作

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值