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如看到类似图片则搭建成功

 

  

 

posted @ 2018-11-06 14:14  Crazier  阅读(785)  评论(0编辑  收藏  举报