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

RabbitMq集群搭建

  RabbitMq有三种模式且集群模式仅2种:
  单一模式:即单机情况不做集群,就单独运行一个rabbitmq而已。
  普通模式:默认模式,以两个节点(rabbit_A、rabbit_B)为例来进行说明。对于Queue来说,消息实体只存在于其中一个节点rabbit_A(或者rabbit_B),rabbit_A和rabbit_B两个节点仅有相同的元数据,即队列的结构。当消息进入rabbit_A节点的Queue后,consumer从rabbit_B节点消费时,RabbitMQ会临时在rabbit_A、rabbit_B间进行消息传输,把A中的消息实体取出并经过B发送给consumer。所以consumer应尽量连接每一个节点,从中取消息。即对于同一个逻辑队列,要在多个节点建立物理Queue。否则无论consumer连rabbit_A或rabbit_B,出口总在rabbit_A,会产生瓶颈。当rabbit_A节点故障后,rabbit_B节点无法取到rabbit_A节点中还未消费的消息实体。如果做了消息持久化,那么得等rabbit_A节点恢复,然后才可被消费;如果没有持久化的话,就会产生消息丢失的现象。
  镜像模式:把需要的队列做成镜像队列,存在与多个节点属于RabbitMQ的HA方案。该模式解决了普通模式中的问题,其实质和普通模式不同之处在于,消息实体会主动在镜像节点间同步,而不是在客户端取数据时临时拉取。该模式带来的副作用也很明显,除了降低系统性能外,如果镜像队列数量过多,加之大量的消息进入,集群内部的网络带宽将会被这种同步通讯大大消耗掉。所以在对可靠性要求较高的场合中适用。

一、RabbitMq环境安装
  a.准备至少两台以上windowsserver服务器eg:【IP:192.168.1.62 , IP:192.168.1.79】最好内网环境下
  b.下载otp_win64_20.1与rabbitmq-server安装包【下载地址:http://www.rabbitmq.com/install-windows.html】
  c.先安装otp_win64_20.1再安装rabbitmq-server

二、配置环境变量
  a.添加系统环境变量 ERLANG_HOME
  
  b.添加系统环境变量Path 值%ERLANG_HOME%\bin
       
  三、运行CMD;查看【erl】是否安装成功
  
  四、安装rabbitmq-server
  a.点击rabbitmq-server.exe 下一步下一步直到完成 
  b.启用Dos窗体运行rabbitmq-plugins enable rabbitmq_management命令进行安装Rabbitmq服务

  五、运行http://localhost:15672/ 默认帐号:guest 密码:guest 
 
 进入系统后添加自定义帐号和密码 分配administrator权限

  
  六、搭建RabbitMQ集群环境
  a.绑定ip计算机名称 (C:\Windows\System32\drivers\etc)
  
  
 b.打开"C:\Users\Administrator\AppData\Roaming\RabbitMQ"路径在改路径下创建环境变量文件'rabbitmq-env.conf' 
  NODENAME=rabbit@PC-201501051139
       NODE_IP_ADDRESS=192.168.1.62
  NODE_PORT=5672
  RABBITMQ_MNESIA_BASE=C:\Users\Administrator\AppData\Roaming\RabbitMQ\db
  RABBITMQ_LOG_BASE=C:\Users\Administrator\AppData\Roaming\RabbitMQ\log

   
  c.关闭【服务器192.168.1.62】与【服务器192.168.1.79】中的RabbitMQ服务并统一erlang cookie;Erlang cookie就是/var/lib/rabbitmq/.erlang.cookie这个文件中的内容。
  将【服务器192.168.1.62】的erlang cookie复制到【服务器192.168.1.79】节点中 覆盖位置【C:\Windows和C:\Users\Administrator】并设置对应文件权限【目前我使用的everyone未发现其问题】
    d.设置Rabbitmq服务登录帐号    
  七、
集群搭建将【192.168.1.79】的nods添加到【192.168.1.62】中
  打开[192.168.1.79]电脑 配置环境变量找到RabbitMQ的安装目录,本实例为"C:\RabbitMq8879\RabbitMq\rabbitmq_server-3.7.6\sbin"。将"C:\RabbitMq8879\RabbitMq\rabbitmq_server-3.7.6"添加到Path中(或者你不配置环境变量直接cd到安装目录的sbin文件下也是可以的)
  输入命令
  rabbitmqctl stop_app
  rabbitmqctl join_cluster rabbit@PC-201501051139
  rabbitmqctl start_app
  验证在两台虚拟机下控制台下输入rabbitmqctl cluster_status如看到类似图片则搭建成功

 

  

 

转载于:https://www.cnblogs.com/tx720/p/9914997.html

相关文章:

  • vue-cli2使用cdn方式引入cytoscape
  • VS2015 提示 无法启动 IIS Express Web 服务器
  • P5003 跳舞的线 - 乱拐弯
  • 阿里数据库十年变迁,那些你不知道的二三事
  • RTSP(Real Time Streaming Protocol)实时流传输协议详解
  • 《三块广告牌》
  • 【重磅】Spring Boot 2.1.0 权威发布
  • Laravel Telescope:优雅的应用调试工具
  • iOS 传感器集锦
  • 2018-2019-1 20165323 《信息安全系统设计基础》第七周学习总结
  • elasticsearch Query DSL(三)
  • 在 centos 上安装 Jenkins
  • 以太坊生态系统中的开发工具和技术
  • git命令——revert、reset
  • 如何高效的使用 Git
  • [nginx文档翻译系列] 控制nginx
  • [笔记] php常见简单功能及函数
  • C++回声服务器_9-epoll边缘触发模式版本服务器
  • HomeBrew常规使用教程
  • Java 23种设计模式 之单例模式 7种实现方式
  • Java精华积累:初学者都应该搞懂的问题
  • leetcode-27. Remove Element
  • QQ浏览器x5内核的兼容性问题
  • Redis在Web项目中的应用与实践
  • spark本地环境的搭建到运行第一个spark程序
  • windows-nginx-https-本地配置
  • 番外篇1:在Windows环境下安装JDK
  • 猫头鹰的深夜翻译:JDK9 NotNullOrElse方法
  • 前端代码风格自动化系列(二)之Commitlint
  • 如何选择开源的机器学习框架?
  • ​DB-Engines 11月数据库排名:PostgreSQL坐稳同期涨幅榜冠军宝座
  • ​创新驱动,边缘计算领袖:亚马逊云科技海外服务器服务再进化
  • #Linux(权限管理)
  • #每日一题合集#牛客JZ23-JZ33
  • (4)logging(日志模块)
  • (env: Windows,mp,1.06.2308310; lib: 3.2.4) uniapp微信小程序
  • (待修改)PyG安装步骤
  • (二)Pytorch快速搭建神经网络模型实现气温预测回归(代码+详细注解)
  • (附源码)springboot电竞专题网站 毕业设计 641314
  • (六)软件测试分工
  • (转)C#开发微信门户及应用(1)--开始使用微信接口
  • (转)fock函数详解
  • .dwp和.webpart的区别
  • .Net Core webapi RestFul 统一接口数据返回格式
  • .NET Core 版本不支持的问题
  • .NET Framework 的 bug?try-catch-when 中如果 when 语句抛出异常,程序将彻底崩溃
  • .NET/C# 在 64 位进程中读取 32 位进程重定向后的注册表
  • .NET处理HTTP请求
  • .NET与 java通用的3DES加密解密方法
  • ?.的用法
  • @modelattribute注解用postman测试怎么传参_接口测试之问题挖掘
  • [ C++ ] STL---仿函数与priority_queue
  • [ vulhub漏洞复现篇 ] Grafana任意文件读取漏洞CVE-2021-43798
  • [20171113]修改表结构删除列相关问题4.txt
  • [BZOJ1877][SDOI2009]晨跑[最大流+费用流]