0


RabbitMQ-消息队列:三台虚拟机搭建RabbitMQ集群

22、RabbitMQ 集群

使用集群的原因

​ 最开始我们介绍了如何安装及运行 RabbitMQ 服务,不过这些是单机版的,无法满足目前真实应用的 要求。如果 RabbitMQ 服务器遇到内存崩溃、机器掉电或者主板故障等情况,该怎么办?单台 RabbitMQ 服务器可以满足每秒 1000 条消息的吞吐量,那么如果应用需要 RabbitMQ 服务满足每秒 10 万条消息的吞 吐量呢?购买昂贵的服务器来增强单机 RabbitMQ 务的性能显得捉襟见肘,搭建一个 RabbitMQ 集群才是 解决实际问题的关键.

在这里插入图片描述

克隆虚拟机

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

搭建步骤

1.修改 3 台机器的主机名称

vim /etc/hostname

2.配置各个节点的 hosts 文件,让各个节点都能互相识别对方

vim /etc/hosts 

192.168.3.128 node1 

192.168.3.131 node2 

192.168.3.132 node3 

在这里插入图片描述

确保ping通

在这里插入图片描述

3.以确保各个节点的 cookie 文件使用的是同一个值

在 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

在这里插入图片描述

4.启动 RabbitMQ 服务,顺带启动 Erlang 虚拟机和 RbbitMQ 应用服务(在三台节点上分别执行以 下命令)

 rabbitmq-server -detached

5.在节点 2 执行

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

在这里插入图片描述

6.在节点 3 执行

rabbitmqctl stop_app

rabbitmqctl reset 

rabbitmqctl join_cluster rabbit@node2 

rabbitmqctl start_app 

7.集群状态

rabbitmqctl cluster_status

在这里插入图片描述

在这里插入图片描述

8.需要重新设置用户

创建账号

rabbitmqctl add_user admin 123

设置用户角色

rabbitmqctl set_user_tags admin administrator 

设置用户权限

rabbitmqctl set_permissions -p"/" admin ".*"".*"".*"

9.解除集群节点(node2 和 node3 机器分别执行)

rabbitmqctl stop_app 
rabbitmqctl reset 
rabbitmqctl start_app 
rabbitmqctl cluster_status 
rabbitmqctl forget_cluster_node rabbit@node2(node1 机器上执行)

RabbitMQ的web管理页面查看搭好的集群状态

在这里插入图片描述

RabbitMQ-消息队列:三台虚拟机搭建RabbitMQ集群 到此完结,笔者归纳、创作不易,大佬们给个3连再起飞吧

标签: rabbitmq 分布式

本文转载自: https://blog.csdn.net/kdzandlbj/article/details/136289202
版权归原作者 小孔靠得住 所有, 如有侵权,请联系我们删除。

“RabbitMQ-消息队列:三台虚拟机搭建RabbitMQ集群”的评论:

还没有评论