我在Win 2008R2上运行了RabbitMQ 3.2.1(Erl OTP 16B02 x64),有一天它开始返回nodedown错误。我决定重新安装RabbitMQ,我已经删除了Rabbit和Erlang enviriment,清理了RABBITMQ_BASE中的db文件夹,删除了所有的erlang cookie和RABBITMQ_NODENAME / PORT变量。 Intalled RabbitMQ 3.5.4 Erlang OTP18 x64作为管理员....但我仍然无法通过命令promt管理服务,它给了我以下输出:
我已经看过一些关于此错误的帖子(Post1,Post2)但是,正如我现在看到的那样,他们所建议的是重新安装RabbitMQ并小心使用Erlang Cookie,以及卸载以前的版本后,我已经完全清理了系统。仍然,任何建议表示赞赏。
感谢。
UPD 有趣的是 - 我注意到RABBITMQ_BASE中的db文件夹是空的,所以在%USERPROFILE%\ AppData \ Roaming \ RabbitMQ中它是空的...我认为必须在服务首次启动时创建节点结构......
答案 0 :(得分:0)
它告诉您它正在尝试连接到名称为“兔子”的节点,并且它告诉您有一个节点运行的名称为' RabbitMQ& #39;
据推测,RabbitMQ'确实是你的RabbitMQ节点?也许您的新安装更改了节点的名称,或者您可能在部分重置之前使用非默认节点名称?或者其他的东西......无论哪种方式,我知道你说你清理了它,但是你的服务器和rabbitmqctl客户端使用的节点名称确实不匹配。
有关如何检查和更改配置(适用于UNIX和Windows)的详细信息,请参阅RabbitMQ configuration,或尝试告诉rabbitmqctl使用不同的节点名称(在UNIX上为-n,在Windows上不确定)。
答案 1 :(得分:0)
我们(RabbitMQ团队)已经看到了这种行为,但到目前为止还无法重现。我们发现,由于未知原因,Windows服务安装时没有其参数,特别是节点名称(rabbit@<hostname>
)丢失,Erlang(或Windows,我不知道)选择服务名称为节点名称(RabbitMQ@<hostname>
)。
rabbitmqctl
无法联系此节点,因为它默认情况下需要rabbit@<hostname>
。但无论如何,节点无法正常工作。
我们知道的解决方法是删除并重新安装Windows服务。