无法连接到Windows 10上的本地RabbitMQ

时间:2016-11-03 14:52:21

标签: rabbitmq

我已经在我的Windows 10计算机上安装了RabbitMQ(可从RabbitMQ网站下载的最新版本)。它安装了ERlang 19.1。

我尝试使用以下命令安装RabbitMQ Web UI管理工具(使用RabbitMQ命令提示符):

rabbitmq-plugins enable rabbitmq_management

我收到以下错误:

The directory name is invalid.
The filename, directory name, or volume label syntax is incorrect.
The filename, directory name, or volume label syntax is incorrect.    
Plugin configuration unchanged.

Applying plugin configuration to rabbit@[0x7FF9A8527044]... failed.
 * Could not contact node rabbit@[0x7FF9A8527044].
   Changes will take effect at broker restart.
 * Options: --online  - fail if broker cannot be contacted.
            --offline - do not try to contact broker.

我已经查了SO并尝试停止并重新启动,覆盖了erlang cookie,但没有任何帮助。

我认为RabbitMQ本身存在问题。服务本身被标记为已启动,但如果我尝试telnet默认端口(5672),那么它将失败(它不是防火墙问题 - 我已将其禁用)。

此外,我还没有看到为RabbitMQ创建的日志文件或任何相关的事件日志消息。因此很难准确诊断问题。

我也尝试卸载并重新安装erlang和RabbitMQ。仍然没有帮助。

如何进一步诊断问题?

3 个答案:

答案 0 :(得分:4)

找到问题的解决方案(降级Erlang在我的情况下不起作用,但万一我将它留在Erlang 18上,以防第19版存在其他问题)。

令我困惑的是这句话:Applying plugin configuration to rabbit@[0x7FF9A8527044]... failed.。似乎它试图以错误的机器名称连接到兔子实例。

然后我运行rabbitmqctl.bat status失败,但再次显示它正在尝试连接到[0x7FF9A8527044],而节点名称为rabbit@my-mchine-name。所以我开始阅读RabbitMQ网站上的配置部分,解决方案很简单 - 手动设置节点名称。

我所要做的就是添加一个名为RABBITMQ_NODENAME的环境变量,其节点名称为rabbit@localhost。就是这样。问题解决了!

答案 1 :(得分:2)

您可能遇到Erlang 19不兼容问题。有关RMQ的Erlang 19支持问题有一些历史。请尝试安装Erlang 18。

如果失败,我建议使用Docker for Windows并安装/运行RabbitMQ。我已将我的所有服务(如RabbitMQ,MongoDB等)移植到Docker容器中,它使我作为开发人员的生活变得更加简单。

答案 2 :(得分:0)

在我的情况下,我不得不删除位于%APPDATA%\RabbitMQ\的本地帐户配置。 删除整个文件夹并重新安装服务就可以了。

  • Rabbitmq 3.6.14
  • Erlang 20.1 OTP