当前位置: 首页 > 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 机器上执行)

相关文章:

  • 堆排序详解:从理论到实践
  • 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定义公共标题模块
  • 偷懒一下下
  • wordpress所有分类/四川seo快速排名
  • 公司做网站域名归谁/百度手机网页版
  • 设计师联盟网站/关键词三年级
  • 做神马网站快速排/台州百度推广优化
  • 宾阳网站建设/俄罗斯搜索引擎浏览器官网入口
  • 做电影网站用的云盘/恶意点击竞价是用的什么软件