(二)RabbitMQ普通集群与静态集群搭建

A. 默认集群模式搭建
首先需要配置一下hosts文件,因为RabbitMQ集群节点名称是读取hosts文件得到的;

一,我们搭建3个节点,它们的名称分别如下 :

rabbit128
rabbit130
rabbit131
配置hosts文件如下:

vim /etc/hosts
192.168.10.128 rabbit128
192.168.10.130 rabbit130
192.168.10.131 rabbit131

二,搭建集群时,要关闭防火墙, 让三台机器互联

systemctl status firewalld
systemctl stop firewalld  --关闭防火墙
systemctl disable firewalld  --开机不启动防火墙

三,将各个节点的 .erlang.cookie文件内容保持一致,就以某个机器上的文件为准,复制到另外机器上即可,
复制后记得重启MQ
同时保证文件的权限是600;

该文件是一个隐藏文件,需要使用 ll -a 命令展示出来;
erlang.cookie是erlang实现分布式的必要文件,
erlang分布式的每个节点上要保持相同的.erlang.cookie文件

.erlang.cookie一般会存在下面这两个位置: 解压缩方式安装的RabbitMQ,那么是${用户名}/.erlang.cookie;
rpm安装包方式进行安装,那么是/var/lib/rabbitmq目录下;

修改后重启,读取配置的节点 和 erlang.cookie

reboot

四,建立集群关系

  1. 把128、130、131三台机器上都安装好erlang和rabbitmq;

  2. 分别启动三台linux上的rabbitmq;

  3. 先让rabbitmq130 加入rabbitmq128与它构成一个集群;在rabbitmq130机器上执行命令:

    ./rabbitmqctl stop_app
    ./rabbitmqctl join_cluster rabbit@rabbit128 --ram
    ./rabbitmqctl start_app
    

    - -ram 参数表示让rabbitmq130成为一个内存节点,如果不带参数默认为disk磁盘节点;

  4. 再让rabbitmq131 加入rabbitmq128与它构成一个集群;在rabbitmq131机器上执行命令:

    ./rabbitmqctl stop_app
    ./rabbitmqctl join_cluster rabbit@rabbit128 --ram
    ./rabbitmqctl start_app
    

当执行完操作以后我们在浏览器访问web管控台来看看效果;
在这里插入图片描述

也可以使用 ./rabbitmqctl cluster_status 查看集群状态;
在这里插入图片描述

有关集群的其他命令:

./rabbitmqctl start_app 启动RabbitMQ应用,而不是节点;
./rabbitmqctl stop_app 停止RabbitMQ应用,而不是节点;
./rabbitmqctl cluster_status 查看集群状态 
./rabbitmqctl status 查当前单机节点的详细状态

B.镜像集群模式
镜像模式是基于默认集群模式加上一定的配置得来的;
在默认模式下的RabbitMQ集群,它会把所有节点的交换机、绑定、队列的元数据进行复制确保所有节点都有一份相同的元数据信息,但是队列数据分为两种:一种是队列的元数据信息(比如队列的最大容量,队列的名称等配置信息),另一种是队列里面的消息;
镜像模式,则是把所有的队列数据完全同步,包括元数据信息和消息数据信息,当然这对性能肯定会有一定影响,当对数据可靠性要求较高时,可以使用镜像模式;

所有名字开头为policy_的队列进行镜像,镜像数量为2,那么命令如下(在任意节点执行如下命令):

./rabbitmqctl set_policy ha_policy "^policy_" '{"ha-mode":"exactly","ha-params":2,"ha-sync-mode":"automatic"}'

如果要在所有节点所有队列上进行镜像,则(在任意节点执行如下命令):

./rabbitmqctl set_policy ha-all "^" '{"ha-mode":"all"}' 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值