2

尝试在 AWS VPC 上配置 RabbitMQ 集群

我将 cookie 从主节点交换到第二个节点

并执行以下步骤

sudo /etc/init.d/rabbitmq-server stop
sudo rabbitmqctl stop_app
sudo rabbitmqctl reset
sudo rabbitmqctl cluster rabbit@ip-10-0-2-215

给出错误

使用 ['rabbit@ip-10-0-2-215'] 集群节点 'rabbit@ip-10-0-2-108' ... 错误:{no_running_cluster_nodes,['rabbit@ip-10-0-2 -215'], ['rabbit@ip-10-0-2-215']}

防火墙配置中的所有端口

能够在这两个实例之间 ping

我正在使用 RabbitMQ -v 2.8.2

注意:在 AWS VPC 之外完成相同的过程并且它可以正常工作,所以 VPC 可能存在什么问题

4

1 回答 1

2

不幸的是,RabbitMQ 没有 DNS(因为 Erlang 对由它们的 FQDN 标识的集群节点的支持很差)。

您需要确保每个 RabbitMQ 节点都可以相互连接。尝试从另一个节点检查一个节点的状态。使用类似的东西:

rabbitmqctl -n rabbit@ip-10-0-2-215 status

如果这不起作用,您需要检查两个节点是否具有相同的Erlang cookie。如果在那之后它仍然不起作用,您需要将主机名添加到/etc/hosts两个实例上的文件中。

如果您仍有问题,请向RabbitMQ 讨论邮件列表发送消息。开发人员在那里回答了所有问题,还有其他人设法在 AWS 上设置了 RabbitMQ 集群。

于 2012-05-05T13:14:45.137 回答