消息队列MQ

rabbitmq集群-镜像模式

本文主要是介绍rabbitmq集群-镜像模式,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

文章目录

  • 一.配置hosts
  • 二.安装erlang
  • 三.安装rabbitmq
  • 四.配置rabbitmq
    • 4.1开启WEB控制台
    • 4.2修改数据存储和日志目录
  • 五.创建集群
    • 5.1配置集群基础环境
    • 5.2将节点加入集群
    • 5.3查看群集状态
    • 5.4集群设为镜像模式

一.配置hosts

vim /etc/hosts
192.168.0.100 rabbit1
192.168.0.101 rabbit2
192.168.0.104 rabbit3

二.安装erlang

wget [https://packages.erlang-solutions.com/erlang-solutions-1.0-1.noarch.rpm](https://packages.erlang-solutions.com/erlang-solutions-1.0-1.noarch.rpm)
yum install epel-release -y
rpm -Uvh erlang-solutions-1.0-1.noarch.rpm
yum install erlang -y

三.安装rabbitmq

wget https://github.com/rabbitmq/rabbitmq-server/releases/download/v3.8.22/rabbitmq-server-3.8.22-1.el7.noarch.rpm
yum -y install rabbitmq-server-3.8.22-1.el7.noarch.rpm
systemctl enable --now rabbitmq-server

四.配置rabbitmq

4.1开启WEB控制台

开启插件:rabbitmq-plugins enable rabbitmq_management
http://ip:15672/
配置guest可登录:

vim /etc/rabbitmq/rabbitmq.config
[{rabbit, [{loopback_users, []}]}].
rabbitmq-plugins list

重启服务:systemctl restart rabbitmq-server

4.2修改数据存储和日志目录

mkdir -p /data/rabbitmq/{mnesia,log}
vim /etc/rabbitmq/rabbitmq-env.conf 
RABBITMQ_MNESIA_BASE=/data/rabbitmq/mnesia
RABBITMQ_LOG_BASE=/data/rabbitmq/log

五.创建集群

5.1配置集群基础环境

rabbitmq1作为群集的管理节点,将rabbit1的.erlang.cookie文件拷贝到其它节点,权限为400,用户为rabbitmq

[root@rabbit1 ~]# scp /var/lib/rabbitmq/.erlang.cookie 192.168.0.101:/var/lib/rabbitmq/
[root@rabbit1 ~]# scp /var/lib/rabbitmq/.erlang.cookie 192.168.0.104:/var/lib/rabbitmq/
chmod 400 /var/lib/rabbitmq/.erlang.cookie
重启rabbitmq服务
systemctl restart rabbitmq-server

5.2将节点加入集群

将rabbit2、rabbit3加入群集
rabbit2内存节点加入集群:

停止rabbitmq2上的服务
[root@rabbitmq2 ~]# rabbitmqctl stop_app
将rabbitmq2加入集群,--ram是以内存方式加入
[root@rabbit2 ~]# rabbitmqctl join_cluster --ram rabbit@rabbit1
[root@rabbit2 ~]# rabbitmqctl  start_app

rabbit3磁盘节点加入集群:

停止rabbit3上的服务
[root@rabbitmq3 ~]# rabbitmqctl stop_app
将rabbit3加入集群,默认磁盘节点
[root@rabbitmq3 ~]# rabbitmqctl join_cluster  rabbit@rabbit1
[root@rabbitmq3 ~]# rabbitmqctl  start_app

5.3查看群集状态

rabbitmqctl cluster_status

5.4集群设为镜像模式

所有队列exchanges 或者 queue都为镜像模式,在其中一个节点操作:
rabbitmqctl set_policy ha-all “^” ‘{“ha-mode”:“all”}’

这篇关于rabbitmq集群-镜像模式的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!