首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在集群`no_running_cluster_nodes`时修复RabbitMQ?

如何在集群`no_running_cluster_nodes`时修复RabbitMQ?
EN

Stack Overflow用户
提问于 2015-07-28 15:45:29
回答 1查看 889关注 0票数 1

我在试着把两个兔子‘m集合起来。

我有两台机器(rabbit1和rabbit2),Debian运行rabbitmq-server 2.8.4-1。(我知道这很古老,但这就是的特点。)

在rabbit1上我跑..。

代码语言:javascript
复制
# rabbitmqctl stop_app
Stopping node rabbit@rabbit1 ...
...done.
# rabbitmqctl reset
Resetting node rabbit@rabbit1 ...
...done.
# rabbitmqctl cluster rabbit@rabbit2
Clustering node rabbit@rabbit1 with [rabbit@rabbit2] ...
Error: {no_running_cluster_nodes,[rabbit@rabbit2],[rabbit@rabbit2]}

但我无法克服这个错误。我遗漏了什么?

我查过的东西:

  • 我在这两台机器上使用/var/lib/rabbitmq/.erlang.cookie中的相同cookie。
  • 我将条目添加到/etc/hosts中,并可以从另一台机器对每台机器进行平分(仅使用rabbit1,resp )。rabbit2作为一个名称)。
  • 表是空的。

更新:

在rabbit1上,我用nmap验证了rabbit2上的epmd正在监听4369。

代码语言:javascript
复制
root@rabbit1:~# nmap -p 1- rabbit2
...
PORT      STATE SERVICE
4369/tcp  open  epmd
5672/tcp  open  amqp
51629/tcp open  unknown

解决方案:(欺骗)

它既不是erlang cookie,也不是主机名,也不是防火墙。实际上我还是不知道那是什么。但是,通过安装由RabbitMQ提供的Debian软件包,我最终升级到了RabbitMQ 3.5.4。(我知道这是作弊。)升级之后,一切正常工作,没有进一步更改我的设置。

EN

回答 1

Stack Overflow用户

发布于 2015-08-19 00:40:37

我也遇到了这个问题,结果被证明是我的.erlang.cookie,尽管我确信我会在两台机器上将它们设置为相同的值(总是好的,可以反复检查)。

这可能是另一个.erlang.cookie正在使用,这取决于兔子on是如何启动。如果它是用init脚本启动的,那么/var/lib/rabbitmq/.erlang.cookie应该是正确的。如果您像这样启动了rabbitmq,rabbitmq-server -detached,那么它可能在用户的主目录中。

您可以通过运行将打印出诊断信息的-n来检查cookie散列- rabbitmqctl正在使用(如果在不提供-n标志的情况下它可以连接的话,它将与rabbitmq-server相同)。

主机名也可能很棘手,因为本地节点和远程节点都需要用相同的名称来标识对方和它们自己。换句话说,rabbit1

另外,您没有提到您在哪里运行这个程序,但是我的服务器位于一个EC2 VPC中,这意味着我必须设置Security以允许节点之间的通信。如果您不在EC2中,那么可能还有其他类型的外部防火墙需要配置。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31681214

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档