RabbitMQ 集群 - {badrpc,nodedown} 即使主机名似乎可以解析

问题描述 投票:0回答:2

我正在使用 Docker 和 ubuntu VM 尝试在同一虚拟网络中的不同 VM 之间进行集群。

当我运行“hostname”时,两台机器都返回正确的值: vm1:mqtttest1 vm2:mqtttest2

在rabbitmq.conf中,我这样设置节点:

cluster_name=rabbitcluster
cluster_formation.peer_discovery_backend = rabbit_peer_discovery_classic_config
cluster_formation.classic_config.nodes.1 = rabbit@mqtttest1
cluster_formation.classic_config.nodes.2 = rabbit@mqtttest2

然后是 docker 实例各自的启动命令:

vm1: docker run -p 15672:15672 -p 5672:5672 -p 4369:4369 -p 1883:1883 -p 80:80 -e RABBITMQ_NODENAME=rabbit@mqtttest1 -e RABBITMQ_ERLANG_COOKIE=RABBITCLUSTERTEST clustertest


vm2: docker run -p 15672:15672 -p 5672:5672 -p 4369:4369 -p 1883:1883 -p 80:80 -e RABBITMQ_NODENAME=rabbit@mqtttest2 -e RABBITMQ_ERLANG_COOKIE=RABBITCLUSTERTEST clustertest

其中“clustertest”是 docker 构建,其中包含设置了上述集群值的rabbitmq.conf 文件。

两个实例都启动良好并独立运行。但是,在尝试集群时出现以下错误:

 Could not auto-cluster with node rabbit@mqtttest2: {badrpc,nodedown}
OR
 Could not auto-cluster with node rabbit@mqtttest1: {badrpc,nodedown}

ping 主机名似乎没问题,我得到了响应。据我所知,一切都配置正确,我可以使用每个 RabbitMQ 实例的公共 IP 访问它们的管理控制台,没有任何问题。

docker rabbitmq
2个回答
0
投票

回答: 非常感谢 Luke Bakken - 我没有暴露端口 25672 在我将启动更改为包含“docker run”命令的 -p 25672:25672 后,它连接起来没有任何问题。


-1
投票

我有一个完整的 docker compose 项目,展示了如何创建 RabbitMQ 集群 -

https://github.com/lukebakken/docker-rabbitmq-cluster

如果您有疑问,请在那里开始讨论 -

https://github.com/lukebakken/docker-rabbitmq-cluster/discussions


注意: RabbitMQ 团队监控

rabbitmq-users
邮件列表,并且有时只回答 StackOverflow 上的问题。

© www.soinside.com 2019 - 2024. All rights reserved.