amazon-ec2 - 在 EC2 上的 RabbitMQ 中创建集群时出错

标签 amazon-ec2 cluster-computing rabbitmq

我想在 EC2 上创建一个 RabbitMQ 集群。我创建了一个 Ubantu 的 AMI 并在其上安装了 rabbitmq-server-2.3.1。 我还安装了 GUI 的管理插件。出于集群目的,我还在另一个节点中复制了 .erlang.cookie 文件。 我的问题是当我尝试连接另一个节点时出现以下错误:

错误:{failed_to_cluster_with,['rabbit@ip-10-58-54-170'], “Mnesia 无法连接到某些节点。”

有人知道为什么会这样吗?

最佳答案

“Mnesia 无法连接到某些节点”有几个常见的原因:

  • 节点实际上不能相互通信(你能ping其他主机吗?),
  • Erlang 限制阻止您以某些方式命名节点(例如,不支持 FQDM,节点名称必须是单个单词)因此您通常必须将节点地址添加到主机文件中,
  • 两个节点有不同的cookies(这里不是这种情况),
  • Rabbit 没有在远程节点上运行。

快速诊断问题:

  • 检查连通性:

    ping 其他节点

  • 检查 Erlang 是否可以连接到 other_node:

    erl -sname my_node -remsh rabbit@other_node

  • 检查 Rabbit 是否正在远程节点上运行:

    rabbitmqctl -n other_node 状态

相当多的人已经设法让 RabbitMQ 集群在 EC2 上运行,所以这当然是可能的。

如果您需要更多帮助,最好的地方是 RabbitMQ Discuss邮件列表。开发商make a point回答问题。

关于amazon-ec2 - 在 EC2 上的 RabbitMQ 中创建集群时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6954344/

相关文章:

javascript - 在node.js中,如何声明一个可以被master进程初始化并被worker进程访问的共享变量?

Rabbitmq:代理重启后未确认的消息不会消失

include - Erlang:无法包含 header

amazon-web-services - 强制 WWW 支持 AWS EC2 负载均衡器

PHP 函数 mail() 在 AWS EC2 服务器上不起作用

amazon-web-services - EC2 在网络 ACL 中自动添加 DENY All Traffic 规则(无法编辑规则)

ruby-on-rails - 统计分析 Rails 应用程序的最佳托管

amazon-web-services - Certbot 更新错误 - AWS EC2

redis - 获取 "keypattern*"在 Redis 集群中不起作用

java - 在运行时向兔子监听器动态添加队列