虚拟机搭建RabbitMQ集群

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

  1. 使用上篇创建的虚拟机复制新的虚拟rabbitmq3
    复制虚拟机.png

    设置新的文件名:centos_rabbitmq_3
    虚拟机文件名.png

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

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

    修改主机名,使用命令
    vi /etc/hostname
    修改hostname文件@2x.png

    重启虚拟机(命令:reboot),可以看到下图,主机名已改。
    新主机名.png
  4. 查看主机rabbitmq3的局域网ip,使用命令
    ip address
    局域网ip.png

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

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

    文件内容是:NODENAME=rabbit3@rabbitmq3
    编辑节点2.png

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


    修改hosts文件

    ping.png
  7. 检查防火墙配置,保证rabbitmq集群使用的端口都能正常访问。执行如下命令查看防火墙配置:view /etc/sysconfig/iptables
    检查防火墙配置.png

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

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

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

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 上篇文章已经搭建起RabbitMQ集群,所有配置均为默认值,现在讨论产线环境需要调整哪些配置。 磁盘节点/内存节点...
    华子闲话阅读 3,966评论 0 0
  • 整体架构 部署步骤 基于 Docker 基本概念内存节点只保存状态到内存,例外情况是:持久的 queue 的内容将...
    mvictor阅读 14,370评论 5 30
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 136,073评论 19 139
  • 关于消息队列,从前年开始断断续续看了些资料,想写很久了,但一直没腾出空,近来分别碰到几个朋友聊这块的技术选型,是时...
    预流阅读 586,162评论 51 787
  • RabbitMQ 原理介绍及安装部署 标签:RabbitMQ 安装 简介 RabbitMQ 是一个用 Erlang...
    神仙CGod阅读 12,739评论 0 60

友情链接更多精彩内容