13.rabbitmq集群搭建

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

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值