美文网首页
RabbitMQ单机多实例集群搭建

RabbitMQ单机多实例集群搭建

作者: aidenliu | 来源:发表于2021-01-05 17:47 被阅读0次
    在单机环境下,配置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"}'
    

    相关文章

      网友评论

          本文标题:RabbitMQ单机多实例集群搭建

          本文链接:https://www.haomeiwen.com/subject/wwxbbktx.html