• Windows环境下 RabbitMQ集群配置


    一、在集群机器上安装erlang环境、安装rabbitmq;

    二、 假设,192.168.10.111的节点名称为 rabbit@H1-PC,192.168.10.112的节点名称为 rabbit@H2-PC

    1.分别在两台机器的rabbitmq数据、日志文件所在路径下(本文为C:UsersAdministratorAppDataRoamingRabbitMQ),创建集群配置文件rabbitmq.config。

    rabbitmq.config是一个标准的erlang配置文件。它必须符合erlang配置文件的标准。

    它既有默认的目录,也可以在rabbitmq-env.conf文件中配置。

    内容为(包括最后的.):

    [{rabbit,[{cluster_nodes, ['rabbit@app118', 'rabbit@app119']}]}].

    2.分别配置两台机器的host(C:WindowsSystem32driversetc目录下)。

    111:

    192.168.10.111 H1-PC

    192.168.10.112 H2-PC

    112:

    192.168.10.112 H2-PC

    192.168.10.111 H1-PC

    3.分别在两台机器的rabbitmq数据、日志文件所在路径下(本文为C:UsersAdministratorAppDataRoamingRabbitMQ),创建rabbitmq环境变量的配置文件rabbitmq-env.conf。

    192.168.10.111的rabbitmq-env.conf内容为:

    NODENAME=rabbit@H1-PC

    NODE_IP_ADDRESS=192.168.10.111

    NODE_PORT=5672

    RABBITMQ_MNESIA_BASE=C:UsersAdministratorAppDataRoamingRabbitMQdb

    RABBITMQ_LOG_BASE=C:UsersAdministratorAppDataRoamingRabbitMQlog

    192.168.10.112的rabbitmq-env.conf内容为:

    NODENAME=rabbit@H2-PC

    NODE_IP_ADDRESS=192.168.10.112

    NODE_PORT=5672

    RABBITMQ_MNESIA_BASE=C:UsersAdministratorAppDataRoamingRabbitMQdb

    RABBITMQ_LOG_BASE=C:UsersAdministratorAppDataRoamingRabbitMQlog

    4.将192.168.10.111的C:UsersAdministrator文件夹下的.erlang.cookie文件替换掉

    192.168.10.112 C:UsersAdministrator和C:Windows下的该文件(该文件是集群节点进行通信的验证密钥,所有节点必须一致。反过来亦可)。

    5.重启两台机器的rabbitmq。

    (1)192.168.10.112,在控制台D:RabbitMQ Server abbitmq_server-2.8.1sbin 路径下分别执行以下语句:

    rabbitmqctl stop_app

    rabbitmqctl reset

    rabbitmqctl start_app

     (2) 192.168.10.111,在控制台D:RabbitMQServer abbitmq_server-2.8.1sbin路径下分别执行以下语句:

      rabbitmqctl stop_app

      rabbitmqctl reset

      rabbtimqctl join_cluster rabbit@H2-PC

      rabbitmqctl start_app

      上述命令先停掉rabbitmq应用,reset集群状态,然后调用cluster命令,将H1-PC连接到H2-PC,使两者成为一个集群,最后重启rabbitmq应用。在这个cluster命令下,H1-PC是内存节点,H2-PC是磁盘节点(RabbitMQ启动后,默认是磁盘节点)。

         如果要使H1-PC在集群里也是磁盘节点,那么更改上述第3句如下:

    rabbitmqctl cluster rabbit@H2-PC rabbit@H1-PC

         只要在节点列表里包含了自己,它就成为一个磁盘节点。在RabbitMQ集群里,必须至少有一个磁盘节点存在。

    6.在H1-PC和H2-PC上,运行rabbitmqctl cluster_status命令查看集群状态.

    Cluster status of node 'rabbit@H1-PC'...

    [{nodes,[{disc,['rabbit@H2-PC']},{ram,['rabbit@H1-PC']}]},

     {running_nodes,['rabbit@H2-PC','rabbit@H1-PC']}]

    ...done.

  • 相关阅读:
    [LeetCode] 222. Count Complete Tree Nodes Java
    [LeetCode] 199. Binary Tree Right Side View Java
    自动加载的两种办法
    Cannot switch on a value of type String for source level below 1.7. Only convertible int values or enum variables are permitted
    Java 面试
    Java 获取最近时间
    Java 倒序输出
    java 排序算法
    图片预览
    SSH三大框架的工作原理
  • 原文地址:https://www.cnblogs.com/hegx/p/6097147.html
Copyright © 2020-2023  润新知