3

我在 Win 2008R2 上运行了 RabbitMQ 3.2.1 (Erl OTP 16B02 x64),有一天它开始返回 nodedown 错误。我决定重新安装 RabbitMQ,我已经删除了 Rabbit 和 Erlang 环境,清理了 RABBITMQ_BASE 中的 db 文件夹,删除了所有 erlang cookie 和 RABBITMQ_NODENAME / PORT 变量。以管理员身份安装 RabbitMQ 3.5.4 Erlang OTP18 x64....但我仍然无法通过命令提示符管理服务,它给了我以下输出:

在此处输入图像描述

我已经看过一些关于这个错误的帖子(Post1Post2)但是,正如我现在所看到的,他们所建议的只是重新安装 RabbitMQ 并小心使用 Erlang cookie,并且在卸载以前的版本后我已经完全清理了系统。不过,任何建议表示赞赏。

谢谢。

UPD 有趣的事情 - 我注意到 RABBITMQ_BASE 中的 db 文件夹是空的,所以它在 %USERPROFILE%\AppData\Roaming\RabbitMQ 中是空的......我认为它必须在服务第一次启动时在那里创建节点结构......

4

2 回答 2

0

它告诉您它正在尝试连接到名称为“rabbit”的节点,并且它告诉您有一个名称为“RabbitMQ”的节点正在运行。

大概“RabbitMQ”确实是您的 RabbitMQ 节点?也许您的新安装更改了节点的名称,或者您在部分重置之前使用了非默认节点名称?或者可能是别的什么......无论哪种方式,我知道你说你已经清理了它,但是你的服务器和rabbitmqctl客户端使用的节点名称肯定不匹配。

有关如何检查和更改配置(适用于 UNIX 和 Windows)的详细信息,请参阅RabbitMQ 配置,或尝试告诉 rabbitmqctl 使用不同的节点名称(在 UNIX 上是 -n,在 Windows 上不确定)。

于 2015-12-09T16:13:50.683 回答
0

我们(RabbitMQ 团队)已经看到了这种行为,但到目前为止还无法重现。我们发现,由于未知原因,安装了 Windows 服务,但没有安装它的参数,特别rabbit@<hostname>是缺少节点名称 ( ),而 Erlang(或 Windows,我不知道)选择服务名称作为节点名称 ( RabbitMQ@<hostname>) .

rabbitmqctl无法联系此节点,因为它rabbit@<hostname>默认需要。但无论如何,该节点无法正常工作。

我们知道的解决方法是删除并重新安装 Windows 服务。

于 2016-03-22T16:25:59.433 回答