RabbitMQ单机多实例集群搭建

在单机环境下,配置RabbitMQ集群(以三个节点为例)
  • 清理单机版中历史数据
 rm -rf /var/lib/rabbitmq/mnesia
  • 分别启动三个RabbitMQ节点
RABBITMQ_NODE_PORT=5672 RABBITMQ_SERVER_START_ARGS="-rabbitmq_management listener [{port,15672}]" RABBITMQ_NODENAME=rabbit rabbitmq-server -detached
RABBITMQ_NODE_PORT=5673 RABBITMQ_SERVER_START_ARGS="-rabbitmq_management listener [{port,15673}]" RABBITMQ_NODENAME=rabbit2 rabbitmq-server -detached
RABBITMQ_NODE_PORT=5674 RABBITMQ_SERVER_START_ARGS="-rabbitmq_management listener [{port,15674}]" RABBITMQ_NODENAME=rabbit3 rabbitmq-server -detached
注意事项

1、因为启用了Web管理插件,所有每个节点的Management也要指定不一样的监听端口,否则会因为端口冲突而节点启动失败。
2、如果不指定每个节点单独的插件监听节点,也可将插件先移除(2.7.0以前版本)或禁用(2.7.0及以后版本)。

  • 以rabbit为主节点,其它两个节点为从节点,在从节点中执行以下命令:
rabbitmqctl -n rabbit2 stop_app
rabbitmqctl -n rabbit2 reset
rabbitmqctl -n rabbit2 join_cluster rabbit@`hostname -s`
rabbitmqctl -n rabbit2 start_app

rabbitmqctl -n rabbit3 stop_app
rabbitmqctl -n rabbit3 reset
rabbitmqctl -n rabbit3 join_cluster rabbit@`hostname -s`
rabbitmqctl -n rabbit3 start_app

可用join_cluster参数--disc或--ram指定是磁盘节点还是内存节点,具体可查看join_cluster命令帮助。

  • 删除节点
rabbitmqctl forget_cluster_node rabbit3@`hostname -s`
  • 查看集群状态
rabbitmqctl -n rabbit cluster_status
  • 设置高可用集群
rabbitmqctl set_policy ha-all "^" '{"ha-mode":"all"}'
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 0. 前言 实际生产应用中都会采用消息队列的集群方案,如果选择RabbitMQ那么有必要了解下它的集群方案原理 一...
    abboo阅读 7,231评论 0 2
  • 准备工作: 1:阿里云ecs实例一台 2:安装docker 3:下载rabbitmq镜像 rabbitmq...
    0爱上1阅读 8,863评论 0 8
  • rabbitMQ的两种重要特性,异步化提高系统抗峰值能力和系统及功能解耦,这两个特点决定了rabbitMQ在我们的...
    AmosZhu阅读 3,287评论 0 5
  • RabbitMQ集群搭建方法这里展示的是多机集群的部署,如果机器受限,可以选择单机集群部署,详细可以参考《Rabb...
    SkTj阅读 3,733评论 0 0
  • 一、集群安装 集群的搭建使用到了三台服务器,分别是: 192.168.2.21 、192.168.2.22、192...
    Honeypeak阅读 3,826评论 0 0

友情链接更多精彩内容