【问题标题】:How to enable clustering of RabbitMQ Docker containers如何启用 RabbitMQ Docker 容器的集群
【发布时间】:2016-12-04 08:23:17
【问题描述】:

我在尝试使用官方 RabbitMQ Docker 映像 - https://hub.docker.com/_/rabbitmq/ 启用集群时遇到问题。我正在使用docker-compose 启动我的基础架构,但我无法让“从”节点加入集群。 当我在主服务器上运行rabbitmqctl cluster_status 时,没有列出从服务器。

这是rabbitmqctl cluster_status的输出:

$ docker-compose exec master-rabbitmq bash
root@master-rabbitmq:/# rabbitmqctl cluster_status
Cluster status of node 'rabbit@master-rabbitmq' ...
[{nodes,[{disc,['rabbit@master-rabbitmq']}]},
 {running_nodes,['rabbit@master-rabbitmq']},
 {cluster_name,<<"rabbit@master-rabbitmq">>},
 {partitions,[]},
 {alarms,[{'rabbit@master-rabbitmq',[]}]}]

下面列出了我的docker-compose.yml,供参考。

version: "2"
services:
  master-rabbitmq:
      image: rabbitmq:3-management
      hostname: master-rabbitmq
      environment:
        - RABBITMQ_ERLANG_COOKIE=super secret token
      ports:
        - "4369:4369"
        - "5671:5671"
        - "5672:5672"
        - "15671:15671"
        - "15672:15672"
        - "25672:25672"

  slave1-rabbitmq:
      image: rabbitmq:3-management
      hostname: slave1-rabbitmq
      links:
        - "master-rabbitmq:master-rabbitmq"
      environment:
        - RABBITMQ_ERLANG_COOKIE=super secret token

  slave2-rabbitmq:
      image: rabbitmq:3-management
      hostname: slave2-rabbitmq
      links:
        - "master-rabbitmq:master-rabbitmq"
      environment:
        - RABBITMQ_ERLANG_COOKIE=super secret token

【问题讨论】:

  • 找出设置不工作的原因并制作了一个视频。 youtu.be/w2kGd2VRJWE
  • 您解决了问题吗?我也有类似的,有没有简单的解决方法?

标签: docker rabbitmq message-queue amqp message-bus


【解决方案1】:

你可能不得不跑

rabbitmqctl join_cluster rabbit@master-rabbitmq

在每个从节点上

【讨论】:

  • 非常感谢!我太无知了,在找到解决方案后不添加我创建的视频:youtu.be/w2kGd2VRJWE
  • 存在一个问题,即容器需要能够通过主机名相互识别,这也是我的设置不起作用的部分原因。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-04-17
  • 2015-04-22
  • 1970-01-01
  • 1970-01-01
  • 2015-08-25
  • 2023-03-05
相关资源
最近更新 更多