在Windows上安装RabbitMQ Service时出错

时间:2017-10-27 02:50:45

标签: rabbitmq

我想将RabbitMQ Service安装为Windows服务。我看到了从安装程序安装RabbitMQ Service的选项(v3.6.5)。但是,它不起作用。

我编写了一个批处理脚本,试图在运行安装程序文件后重新安装RabbitMQ服务

set HOMEDRIVE=C:
set HOMEPATH=\Users\%username%

call "C:\Program Files\RabbitMQ Server\rabbitmq_server-3.6.5\sbin\rabbitmq-service.bat" remove
call "C:\Program Files\RabbitMQ Server\rabbitmq_server-3.6.5\sbin\rabbitmq-service.bat" install

call net start RabbitMQ

call "C:\Program Files\RabbitMQ Server\rabbitmq_server-3.6.5\sbin\rabbitmq-plugins.bat" enable rabbitmq_management

但是,这个脚本非常不稳定。 有时候它有效,但有时却没有。

我在许多装有Windows 10,Windows 8.1,Windows 7和Windows Server 2012的电脑上进行了测试。

发生错误时,它总是出现在最后一个命令(启用RabbitMQ管理)

C:\Program Files\erl9.0\erts-9.0\bin\erlsrv: Service RabbitMQ removed from system.
C:\Program Files\erl9.0\erts-9.0\bin\erlsrv: Service RabbitMQ added to system.
The RabbitMQ service is starting.
The RabbitMQ service was started successfully.

Plugin configuration unchanged.

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

有时候,我收到了这个错误

...
Plugin configuration unchanged.

Applying plugin configuration to rabbit@<myhost>... failed.
Error: noproc

在我的电脑中,当%HOMEDRIVE %% HOMEPATH% C:\ users时,我收到第一个错误(无法联系节点...) \名为myUsername 即可。当我改为 C:\ Windows 时,效果很好。然后我改回 C:\ users \ ,它也运行良好,没有更多错误。

但是,在使用Windows Server 2012的服务器上,即使 C:\ Windows 也无效(无法联系节点...)。

在所有PC中,我都会在 C:\ Windows C:\ Users [用户名] 中看到 .erlang.cookie 文件。 (我对erlang一无所知,只需按照StackOverFlow中其他问题的说明进行操作)。

我的剧本出了什么问题?

  1. 错误是否与RabbitMQ的版本有关?我没有使用最新版本。

  2. 它与Erlang有关吗?我想如果Erlang导致了这个问题,那么关于删除/安装RabbitMQ服务的两个命令就会失败。

  3. 是否可以在不检查安装程序的服务选项的情况下安装服务,只需运行命令 rabbitmq-service.bat install

1 个答案:

答案 0 :(得分:0)

RabbitMQ团队监视this mailing list,有时只回答有关stackoverflow的问题。

您应该使用最新版本的适用于Windows的RabbitMQ安装程序,here。我假设您的问题中的<myhost>是已编辑的主机名,而不是实际使用的主机名。您也没有提到您安装的Erlang版本,但我认为它是最近的版本。

您应该卸载RabbitMQ并确保从C:\Users\myusername删除所有跟踪(务必检查%APPDATA%)和C:\Windows。在安装之前,您不必更改HOMEDRIVEHOMEPATH的默认值。运行Erlang和RabbitMQ .exe安装程序时使用管理帐户。

请注意,3.6.12在Windows上有this issue。解决方法是将vm_memory_calculation_strategy设置为erlang。我已修复此问题,并将在3.6.13中发送。

感谢您使用RabbitMQ!