虚拟机搭建RabbitMQ集群

上一篇介绍了如何安装RabbitMQ,下面介绍如何搭建RabbitMQ集群。

  1. 使用上篇创建的虚拟机复制新的虚拟rabbitmq3
    虚拟机搭建RabbitMQ集群_第1张图片
    复制虚拟机.png

    设置新的文件名:centos_rabbitmq_3
    虚拟机搭建RabbitMQ集群_第2张图片
    虚拟机文件名.png

    选择“完全复制”
    虚拟机搭建RabbitMQ集群_第3张图片
    完全复制.png
  2. 配置centos_rabbitmq_3的网络模式,使虚拟机之间能够通信。如下图所示,打开virtual box的个人偏好设置,在网络选项中,添加“仅主机(host-only)网络选项“。
    虚拟机搭建RabbitMQ集群_第4张图片
    添加网卡.png

    接着设置centos_rabbitmq_3的网络选项,添加第2个网卡。如下图
    虚拟机搭建RabbitMQ集群_第5张图片
    添加网卡.png
  3. 启动rabbitmq3虚拟机,如下图所示,由于是根据虚拟机rabbitmq2的复制,因此主机名相同。
    虚拟机搭建RabbitMQ集群_第6张图片
    主机名.png

    修改主机名,使用命令
    vi /etc/hostname
    虚拟机搭建RabbitMQ集群_第7张图片
    修改hostname文件@2x.png

    重启虚拟机(命令:reboot),可以看到下图,主机名已改。
    虚拟机搭建RabbitMQ集群_第8张图片
    新主机名.png
  4. 查看主机rabbitmq3的局域网ip,使用命令
    ip address
    虚拟机搭建RabbitMQ集群_第9张图片
    局域网ip.png

    如果发现局域网IP与其它其它虚拟机相同,则关闭虚拟机,修改rabbitmq3的网卡2下配置的mac地址,如下图:
    虚拟机搭建RabbitMQ集群_第10张图片
    设置mac地址.png
  5. 执行rabbitmq状态,执行命令:rabbitmqctl status。如下图:
    虚拟机搭建RabbitMQ集群_第11张图片
    rabbitmq节点状体啊.png

    由于rabbitmq3是复制的,因此rabbitmq节点的配置还是rabbitmq2虚拟机上的配置。由于配置与机器主机名不一致,导致启动失败。因此使用如下方式修改节点名称,在/etc/rabbitmq文件夹下,修改rabbitmq-env.conf文件(如果没有,则创建此文件),如下图:
    虚拟机搭建RabbitMQ集群_第12张图片
    编辑节点名称1.png

    文件内容是:NODENAME=rabbit3@rabbitmq3
    虚拟机搭建RabbitMQ集群_第13张图片
    编辑节点2.png

    重启虚拟机,再次执行:rabbitmqctl status,检查消息节点是否正常,如下图:
    虚拟机搭建RabbitMQ集群_第14张图片
    消息节点正常.png
  6. 修改虚拟机的hosts文件,保证虚拟机之间能够通过机器名访问,如下图:


    虚拟机搭建RabbitMQ集群_第15张图片
    修改hosts文件

    虚拟机搭建RabbitMQ集群_第16张图片
    ping.png
  7. 检查防火墙配置,保证rabbitmq集群使用的端口都能正常访问。执行如下命令查看防火墙配置:view /etc/sysconfig/iptables
    虚拟机搭建RabbitMQ集群_第17张图片
    检查防火墙配置.png

    如果没有此文件,则可以使用如下命令安装防火墙:
    yum install iptables
    yum install iptables-server
    如果配置文件有修改,则修改完成后执行如下命令:
    systemctl restart iptables
    8.检查rabbitmq3当前节点的集群状态,执行如下命令:
    rabbitmqctl cluster_status
    结果如下图:
    虚拟机搭建RabbitMQ集群_第18张图片
    加入集群前状态.png

    9.停止rabbitmq3的消息节点,并重置配置。执行如下命令:
    rabbitmqctl stop_app
    rabbitmqctl reset
    10.在rabbitmq3虚拟机上,执行如下命令把消息节点加入rabbitmq1的集群。
    rabbitmqctl join_cluster rabbit1@rabbitmq1
    结果如下图:
    加入集群.png

    11.在rabbitmq3虚拟机上,执行如下命令检查集群状态:
    rabbitmqctl cluster_status
    结果如下图:
    虚拟机搭建RabbitMQ集群_第19张图片
    rabbitmq3节点集群状态1.png
  8. 在主磁盘节点rabbitmq1虚拟机上,执行如下命令检查集群状态
    rabbitmqctl cluster_status
    结果如下图:
    虚拟机搭建RabbitMQ集群_第20张图片
    主磁盘节点rabbitmq1的集群状态.png

至此,一个简单的rabbitmq集群搭建完成。在产线环境环境下,需要做很多其它节点配置项。
[在平时使用启动虚拟机集群时经常出现rabbitmq节点无法启动,可以使用如下命令重启当前rabbitmq节点:
systemctl restart rabbitmq-server.service
]

你可能感兴趣的:(虚拟机搭建RabbitMQ集群)