| 注册
请输入搜索内容

热门搜索

Java Linux MySQL PHP JavaScript Hibernate jQuery Nginx
jopen
6年前发布

Rabbitmq集群的搭建

RabbitMQ集群的搭建

系统环境

三台机器分别为centos6.6 64位

  1. vm61 192.168.1.61
  2. vm62 192.168.1.62
  3. vm63 192.168.1.63

安装

由于RabbitMQ是由erlang写的,所以需要erlang的运行环境,直接使用yum进行安装

yum install erlang 安装完erlang后,安装RabbitMQ

rpm -ivh rabbitmq-server-3.5.3-1.noarch.rpm

三台机器安装完rabbitmq后,首先在vm61上启动rabbitmq

service rabbitmq-server start 然后将vm61上的/var/lib/rabbitmq/.erlang.cookie中的内容复制到vm62和vm63上的/var/lib/rabbitmq/.erlang.cookie文件中即三台服务器必须具有相同的cookie,如果不相同的话,无法搭建集群

配置

查看vm61上的集群的状态

rabbitmqctl cluster_status 得到如下结果

Cluster status of node rabbit@vm61 ... [{nodes,[{disc,[rabbit@vm61]}]}, {running_nodes,[rabbit@vm61]}, {cluster_name,<"rabbit@localhost.localdomain">}, {partitions,[]}]

启动vm62、vm63上的rabbitmq

service rabbitmq-server start 将vm62加入集群

rabbitmqctl stop_app rabbitmqctl reset rabbitmqctl join_cluster rabbit@vm61 rabbitmqctl start_app 将vm63加入集群

rabbitmqctl stop_app rabbitmqctl reset rabbitmqctl join_cluster rabbit@vm61 rabbitmqctl start_app

查看集群的状态

rabbitmqctl cluster_status 得到如下结果

Cluster status of node rabbit@vm61 ... [{nodes,[{disc,[rabbit@vm61,rabbit@vm62,rabbit@vm63]}]}, {running_nodes,[rabbit@vm63,rabbit@vm62,rabbit@vm61]}, {cluster_name,<"rabbit@localhost.localdomain">}, {partitions,[]}] 说明集群创建成功

错误

  1. 如果3台服务器的cookie不一致的话,会导致集群通信失败,无法创建集群
  2. 如果出现如下问题的话

    Clustering node rabbit@vm62 with rabbit@vm61 ... Error: unable to connect to nodes [rabbit@vm61]: nodedown DIAGNOSTICS

    attempted to contact: [rabbit@vm61] rabbit@VMS00386:

    • unable to connect to epmd (port 4369) on VM61: nxdomain (non-existing domain) current node details:

      • node name: 'rabbitmqctl-rabbit@vm62'
      • home dir: /var/lib/rabbitmq
      • cookie hash: 50YO3zK+HJHos0tab1vHjg== 则需要在每台服务器上添加

      vi /etc/hosts vm61 192.168.1.61 vm62 192.168.1.62 vm63 192.168.1.63 即可解决,问题原因为无法解析地址导致的

  3. cluster搭建起来后若在web管理工具中rabbitmq_management的Overview的Nodes部分看到“Node statistics not available”的信息,说明在该节点上web管理插件还未启用。直接在显示提示信息的节点上运行

    rabbitmq-plugins enable rabbitmq_management 即可。

 本文由用户 jopen 自行上传分享,仅供网友学习交流。所有权归原作者,若您的权利被侵害,请联系管理员。
 转载本站原创文章,请注明出处,并保留原始链接、图片水印。
 本站是一个以用户分享为主的开源技术平台,欢迎各类分享!
 本文地址:https://www.open-open.com/lib/view/open1437312855318.html
消息系统 RabbitMQ