Как включить кластеризацию контейнеров RabbitMQ Docker
У меня возникла проблема при попытке включить кластеризацию с помощью официального образа 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
1 ответ
Вам, скорее всего, придется бежать
rabbitmqctl join_cluster rabbit@master-rabbitmq
На каждом из подчиненных узлов