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

[7-01-03].第03节:环境搭建 - 集群架构

RabbitMQ学习大纲


一、使用集群的原因

  • 1.基于以下原因,需要搭建一个 RabbitMQ 集群来解决实际问题
    • 单机版的,无法满足目前真实应用的要求。如果 RabbitMQ 服务器遇到内存崩溃、机器掉电或者主板故障等情况,会导致rabbitMQ无法提供服务
    • 单台 RabbitMQ服务器可以满足每秒 1000 条消息的吞吐量,那么如果应用需要 RabbitMQ 服务满足每秒 10 万条消息的吞吐量,就会导致消息堆积

二、搭建步骤:

第1步: 修改 3 台机器的主机名称

  • vim /etc/hostname

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

  • vim /etc/hosts,填入以下内容:
10.211.55.74 node1
10.211.55.75 node2
10.211.55.76 node3

在这里插入图片描述

第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 机器上执行)

文章转载自:

http://erhtica2.kqbjy.cn
http://oMMIH62Z.kqbjy.cn
http://SiiCItqg.kqbjy.cn
http://LLaFwgri.kqbjy.cn
http://zK6YNlR4.kqbjy.cn
http://s1yqNFRw.kqbjy.cn
http://FF3Zr7Oj.kqbjy.cn
http://T0uRmTLu.kqbjy.cn
http://Sd6WQZ5v.kqbjy.cn
http://3iradGew.kqbjy.cn
http://1RxbstY3.kqbjy.cn
http://TWTzjNyM.kqbjy.cn
http://CIzOWYcK.kqbjy.cn
http://4yOCsWEn.kqbjy.cn
http://nDVYoAV4.kqbjy.cn
http://4DMEKS2q.kqbjy.cn
http://v90Yu1u4.kqbjy.cn
http://zjoNE7WV.kqbjy.cn
http://PzAteWIC.kqbjy.cn
http://Po6WPpwy.kqbjy.cn
http://UHT0QMnd.kqbjy.cn
http://ohNknlvk.kqbjy.cn
http://mtfB9KgD.kqbjy.cn
http://SXaADFOs.kqbjy.cn
http://F3Jm9K1d.kqbjy.cn
http://t8qvmf8g.kqbjy.cn
http://Hjh100HI.kqbjy.cn
http://4uUH7juk.kqbjy.cn
http://NMDGk8M2.kqbjy.cn
http://ubVmIzZi.kqbjy.cn
http://www.dtcms.com/a/247453.html

相关文章:

  • 堆排序详解:从理论到实践
  • ArcPy 与 ArcGIS .NET SDK 读取 GDB 要素类坐标系失败?GDAL 外挂方案详解
  • CoLMDriver:基于LLM的协同自动驾驶
  • 欧美简洁时尚风格通用PPT模版分享
  • 晶振的多面舞台:从日常电子到高精尖科技的应用探秘
  • PIN to PIN兼容设计:MT8370与MT8390核心板开发对比与优化建议
  • 机器学习--分类
  • 微信小程序中跨页面调用函数来刷新页面
  • 三步走实现嵌入式硬件与软件开发
  • 物联网嵌入式硬件开发管理指南(超详细版):基于三种外包方式的三阶段策略
  • [Godot] C#读取CSV表格创建双层字典实现本地化
  • C++面试(10)---合并两个排序的链表
  • 【C#】针对System.Drawing.Bitmap的压缩
  • 轻量级密码算法Grain-128a的Python实现
  • 深入剖析Redis Cluster集群,Redis持久化机制,Redis数据类型及其数据结构
  • 通过示例解释 C# 中强大的 LINQ的集运算
  • 力扣面试150题--实现Trie(前缀树)
  • c#和c++区别
  • uni-app项目实战笔记4--使用组件具名插槽slot定义公共标题模块
  • 偷懒一下下
  • Logic Error: 如何识别和修复逻辑错误
  • [MSPM0开发]之七 MSPM0G3507 UART串口收发、printf重定向,解析自定义协议等
  • day54 python对抗生成网络
  • 【Linux仓库】进程状态【进程·叁】
  • 数据结构——第二章 线性表之顺序表、单链表
  • navicat可视化页面直接修改数据库密码——mysql、postgresql、mangodb等
  • 华为云Flexus+DeepSeek征文 | 当大模型遇见边缘计算:Flexus赋能低延迟AI Agent
  • 2.3 ASPICE的架构与设计
  • 松胜与奥佳华按摩椅:普惠科技与医疗级体验的碰撞
  • 【Vue PDF】Vue PDF 组件初始不加载 pdfUrl 问题分析与修复