美文网首页RabbitMQ
RabbitMQ 3.9.7 镜像模式集群的搭建

RabbitMQ 3.9.7 镜像模式集群的搭建

作者: 追风人聊Java | 来源:发表于2021-12-26 16:48 被阅读0次

1. 概述

老话说的好:做人脚踏实地,一步一个脚印,便定能战胜一切困难,最终取得成功!!!

言归正传,之前我们聊了 RabbitMQ 单点服务的安装,今天我们来聊聊 RabbitMQ 3.9.7 镜像模式集群的搭建。

RabbitMQ 的镜像模式集群能够保证数据100%不丢失,实际工作中用的最多,实现也很简单,通常由3个节点组成。

2. 场景说明

服务器A IP:192.168.1.22

服务器B IP:192.168.1.8

服务器C IP:192.168.1.144

服务器A hostname:zhuifengren1

服务器B hostname:zhuifengren2

服务器C hostname:zhuifengren3

这三台服务器都已经安装了 RabbitMQ 3.9.7,并启动正常。

单点 RabbitMQ 的安装,可参见我的另一篇文章《RabbitMQ3.9.7在CentOS7中的安装搭建》。

3. 镜像模式集群的搭建

3.1 修改三台机器的名称,并在hosts中进行设置(机器名称随意)

、# vi /etc/hostname

image image image

# vi /etc/hosts

image

3.2 启动3台服务器上的 RabbitMQ 服务

# /sbin/service rabbitmq-server start

3.3 在启动状态下,将服务器A上的 .erlang.cookie文件 拷贝到 服务器B 和 服务器C 上

# scp /var/lib/rabbitmq/.erlang.cookie 192.168.1.8:/var/lib/rabbitmq/

# scp /var/lib/rabbitmq/.erlang.cookie 192.168.1.144:/var/lib/rabbitmq/

3.4 使用 rabbitmqctl stop 命令停止3台服务器的RabbitMQ服务

# rabbitmqctl stop

注意:这里不能使用之前的 /sbin/service rabbitmq-server stop 命令,停止服务

如果出现无法停止的情况,可尝试使用 /sbin/service rabbitmq-server stop 命令停止后,再使用 /sbin/service rabbitmq-server start 命令启动,

然后再使用 rabbitmqctl stop 命令停止。

3.5 使用 rabbitmq-server -detached 命令启动3台服务器

(有些慢,耐心等待,可以使用 lsof -i:5672 命令查看是否启动)

# rabbitmq-server -detached

3.6 将从节点加入集群

我们这里将 服务器A 作为主节点,将 服务器B、服务器C 作为从节点

在 服务器B 和 服务器C 执行以下操作:

# rabbitmqctl stop_app

# rabbitmqctl reset

# rabbitmqctl join_cluster rabbit@zhuifengren1

# rabbitmqctl start_app

3.7 配置镜像模式

在任意节点执行即可。

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

3.8 查看集群状态

# rabbitmqctl cluster_status

image

3.9 控制台效果

image image image

3.10 从集群中移除节点

1)在需要移除的节点上执行停止命令

# rabbitmqctl stop_app

2)在其他节点上执行移除节点命令

# rabbitmqctl forget_cluster_node rabbit@zhuifengren2

4. 综述

今天聊了一下 RabbitMQ 3.9.7 镜像模式集群的搭建,希望可以对大家的工作有所帮助。

欢迎帮忙点赞、评论、转发、加关注 :)

关注追风人聊Java,每天更新Java干货。

相关文章

网友评论

    本文标题:RabbitMQ 3.9.7 镜像模式集群的搭建

    本文链接:https://www.haomeiwen.com/subject/bzmsqrtx.html