当前位置: 首页 > news >正文

rabbitmq 集群搭建

RabbitMQ集群介绍

RabbitMQ集群是一组RabbitMQ节点(broker)的集合,它们一起工作以提供高可用性和可伸缩性服务。 RabbitMQ集群中的节点可以在同一物理服务器或不同的物理服务器上运行。

RabbitMQ集群的工作原理是,每个节点在一个虚拟主机中提供服务,并通过网络进行通信和数据同步。当一个节点在集群中宕机时,其他节点可以接管其未处理的消息和队列,并尝试恢复数据同步,从而确保服务的可用性。

要建立一个RabbitMQ集群,需要遵循以下步骤:

  1. 安装RabbitMQ:在每个节点上安装RabbitMQ。

  2. 配置节点:为每个节点提供唯一的名称和IP地址,并确保它们可以相互访问。

  3. 创建虚拟主机:在每个节点上创建相同的虚拟主机。

  4. 配置集群:配置每个节点以了解其他节点的存在,并让它们加入到集群中。

  5. 测试集群:使用工具或客户端测试集群的可用性和可靠性。

RabbitMQ集群可以显著提高应用程序的可用性和可伸缩性,但也需要注意一些方面,例如,确保网络连接的稳定性,及时修复故障节点等。
在这里插入图片描述

1.下载

docker pull rabbitmq:3.7.7-management

2.启动

#rabbitmqCluster01 主节点
docker run -d --hostname rabbitmq01 --name rabbitmqCluster01  -p 15672:15672 -p 5672:5672 -e RABBITMQ_ERLANG_COOKIE='rabbitmqCookie' -e RABBITMQ_DEFAULT_USER=admin -e RABBITMQ_DEFAULT_PASS=admin  rabbitmq:3.7.7-management#rabbitmqCluster02 从节点
docker run -d --hostname rabbitmq02 --name rabbitmqCluster02  -p 7002:15672 -p 5673:5672 -e RABBITMQ_ERLANG_COOKIE='rabbitmqCookie' -e RABBITMQ_DEFAULT_USER=admin -e RABBITMQ_DEFAULT_PASS=admin --link rabbitmqCluster01:rabbitmq01 rabbitmq:3.7.7-management#rabbitmqCluster03 从节点
docker run -d --hostname rabbitmq03 --name rabbitmqCluster03  -p 8002:15672 -p 5674:5672 -e RABBITMQ_ERLANG_COOKIE='rabbitmqCookie' -e RABBITMQ_DEFAULT_USER=admin -e RABBITMQ_DEFAULT_PASS=admin --link rabbitmqCluster01:rabbitmq01 --link rabbitmqCluster02:rabbitmq02  rabbitmq:3.7.7-management

3.配置

rabbitmqctl stop_apprabbitmqctl reset
#rabbitmq01为rabbitmqCluster01容器中的hostname
rabbitmqctl join_cluster --ram rabbit@rabbitmq01rabbitmqctl start_app

执行结果

[root@192-168-3-193 ~]# docker exec -it 0fd63626f0e6bdbe7da774f5e2a95627379976f89fe03380d5fee3ef7d1f742d bash
root@rabbitmq03:/# rabbitmqctl stop_app
Stopping rabbit application on node rabbit@rabbitmq03 ...
root@rabbitmq03:/# rabbitmqctl reset
Resetting node rabbit@rabbitmq03 ...
root@rabbitmq03:/# rabbitmqctl join_cluster --ram rabbit@rabbitmq01
Clustering node rabbit@rabbitmq03 with rabbit@rabbitmq01
root@rabbitmq03:/# rabbitmqctl start_app
Starting node rabbit@rabbitmq03 ...completed with 3 plugins.
root@rabbitmq03:/# rabbitmqctl cluster_status
Cluster status of node rabbit@rabbitmq03 ...
[{nodes,[{disc,[rabbit@rabbitmq01]},{ram,[rabbit@rabbitmq03,rabbit@rabbitmq02]}]},{running_nodes,[rabbit@rabbitmq02,rabbit@rabbitmq01,rabbit@rabbitmq03]},{cluster_name,<<"rabbit@rabbitmq01">>},{partitions,[]},{alarms,[{rabbit@rabbitmq02,[]},{rabbit@rabbitmq01,[]},{rabbit@rabbitmq03,[]}]}]
root@rabbitmq03:/#

4.登录

在这里插入图片描述

http://www.lryc.cn/news/232372.html

相关文章:

  • 【云原生-Kurbernets篇】Kurbernets集群的调度策略
  • Unity中Shader矩阵的乘法
  • C++ STL简介
  • 如何优雅的使用contorller层
  • 发现区块链世界的新大门——AppBag.io DApp导航网站全面解析
  • C#多线程Thread、Task
  • Qt QWebSocket实现JS调用C++
  • Android Matrix的使用详解(通过矩阵获取到图片缩放比例和角度)
  • 【Spring】bean的生命周期
  • C#运算符重载
  • 【L2GD】: 无环局部梯度下降
  • 2023-11-14 LeetCode每日一题(阈值距离内邻居最少的城市)
  • AdServices归因和iAd归因集成
  • 关于 内部类 你了解多少?(详解!!)
  • CNVD-2021-09650:锐捷NBR路由器(guestIsUp.php)RCE漏洞复现 [附POC]
  • 如何在Docker部署Draw.io绘图工具并远程访问
  • Android APK打包的过程主要步骤
  • 吃透 Spring 系列—MVC部分
  • Java面试题(每天10题)-------连载(32)
  • HDP集群Kafka开启SASLPLAINTEXT安全认证
  • 判断上颌下颌的stl模型坐标轴是否正常
  • C/C++---------------LeetCode第1189. “气球” 的最大数量
  • Arthas(阿尔萨斯)--(三)
  • 《变形监测与数据处理》笔记/期末复习资料(择期补充更新)
  • Linux:进程替换和知识整合
  • React组件在什么情况下会重新渲染
  • 云ES容灾方案
  • Golang 中的 Context 包
  • nginx服务器
  • 电脑常用快捷键