代码之家  ›  专栏  ›  技术社区  ›  Seer.The

RabbitMQ集群(经典配置)拆分

  •  0
  • Seer.The  · 技术社区  · 7 年前

    我尝试使用配置文件在云中配置RabbitMQ集群。

    我的程序是:

    1. 获取要与之群集的实例列表(通过云API,在群集启动之前)。

    2. 修改配置文件如下:

      cluster_formation.peer_discovery_backend = rabbit_peer_discovery_classic_config
      cluster_formation.classic_config.nodes.1 = rabbit@host1.my.long.domain.name
      cluster_formation.classic_config.nodes.2 = rabbit@host2.my.long.domain.name
      ...
      
    3. rabbitmq-server

    我希望所有节点都集群,但可能会有2个以上的独立集群。如何解决此问题?

    更新时间:

    我跑的时候发现 rabbitmqctl join_cluster rabbit@host.in.existing.cluster 在已经在某个集群中的节点上,此节点离开其以前的集群(我希望此集群合并)。这可能是问题的根源。

    更新2:

    我有4个例子。3裸奔 rabbitmq-servers ,1被配置为加入其他3。启动时,它与配置中的最后一个实例连接,另外两个实例在threir日志中没有显示任何活动。在classic配置和erlang配置上都发生。

    1 回复  |  直到 7 年前
        1
  •  0
  •   Seer.The    7 年前

    当您最初启动集群时,无法解决竞争状况。使用对等发现后端无助于解决此问题(在上测试 etcd )。

    真正解决这个问题的是 不同时部署实例 。当一个接一个地启动时,一切都很好,您可以得到一个稳定的集群,它可以处理扩展而不会出现故障。