13

我正在使用 RabbitMQ。由于某种原因,rabbitMQ 服务在您启动后立即停止。我在事件日志中看到以下错误:

RabbitMQ: Erlang machine stopped instantly (distribution name conflict?). The service is not restarted as OnFail is set to ignore.

有人告诉我运行这个命令:erl -sname rabbit

此命令生成以下输出:

{(no error logger present")i neirtr otre: r"mEirnraotri nign  ipnr odcoe_sbso o<
t0".,2{.b0a>d awrigt,h[ {eexrilt_p rviaml_uleo:a d{ebra,dcahregc,k[_{feirlle__pr
reismu_llto,a3d,e[r{,fcihleec,k"_efrill_e_prreismu_llto,a3d,e[r{.feirlle",}\,"{e
lriln_ep,r29i3m}_]l}o,a{dienri.te,rgle\t"_}b,o{olti,n1e,,[2{9f3i}l]e},,"{iinniit
t.,egrelt"_}b,o{olti,n1e,,[78{9f}i]l}e,,{\i"niinti,tg.eetr_lb\o"o}t,,{2l,i[n{ef,
i7l8e9,}"]i}n,i{ti.neirtl,"g}e,t{_lbionoet,,7762},][}{,f{iilnei,t\,"dion_ibto.oe
tr,l3\,"[}{,f{illien,e",i77n6i}t].}e,r{li"n}i,t{,ldion_eb,o74o3t},]3},][}{}f
ile,\"init.erl\"},{line,743}]}]}\n"

我不确定如何解释这个输出。我想知道该错误是否特定于 RabbitMQ 或 erlang。

我不知道如何进行。请建议。

4

11 回答 11

9

我刚刚在新的 Windows 服务器上将 RabbitMq 设置为服务时遇到了这个问题。我能想到的唯一一件事就是在安装 RabbitMq 服务之后重命名新的 windows 框,但在第一次测试它之前。

首先,我注意到它作为应用程序运行良好。我通过使用手动安装说明中的命令再次安装服务来解决它:

rabbitmq-service install

假设您为 RabbitMq sbin 目录包含路径变量。

于 2016-06-08T19:45:04.720 回答
6

唯一对我有用的是清除目录C:\Users\xxxxx\AppData\Roaming\RabbitMQ

(参见https://groups.google.com/forum/#!topic/rabbitmq-users/138RHzzsORU

于 2016-03-11T08:18:22.577 回答
2

在我的场景中,C:\Program Files 下有两个不同版本的 Erlang 目录,我卸载了其中一个版本,还从 Windows 服务列表中卸载了 RabbitMQ 服务 - 重新启动系统。

再次运行 RabbitMQ 设置 - RabbitMQ 服务设置成功。

于 2020-09-09T13:30:34.913 回答
2

在 Windows Server 2016 上通过 Chocolatey 安装 RabbitMQ 3.7.17 时遇到了同样的问题。

在尝试了大多数建议的解决方案之后,对我有用的是:

rabbitmq-service remove
rabbitmq-service install
rabbitmq-service start

PS:如果您的 PATH 没有为 RabbitMQ 配置,这是您需要从以下位置运行命令的文件夹:(C:\Program Files\RabbitMQ Server\rabbitmq_server-3.7.17\sbin如果您的版本也是 3.7.17)。

于 2019-11-19T02:00:32.670 回答
1

对于其他查找此错误的人:仔细检查您的配置文件和 SSL 文件。当我用 ca.pem 指定 ssl_options.cacertfile 时遇到了这个问题,但该文件在目录中被错误输入为 ca-pem。不幸的是,RabbitMQ 不够聪明,无法捕捉丢失的文件,并且在没有日志的情况下转储。

于 2019-12-31T21:32:58.973 回答
0

我发现与 env 变量的名称冲突,多年来我一直在使用 - 这意味着,这与以前的版本没有问题。我有“日志”,应用程序将写入该目录,通常使用它们自己的子目录。RMQ 使用相同的变量名并表示纯文件名。所以使用: "C:\Users\rabbit\AppData\Roaming\RabbitMQ\log\log" 使它对我有用 - 这是在兔子的用户私人环境中。因此,兔子现在看不到全局设置。呃。看起来,这实际上是一个文件名,在我再次将其更改为“rabbit@c4711-node.log”后,它的写入方式与早期版本一样。该服务现在开始为我服务 - 但这真的很混乱,我现在不相信它;-)

于 2015-10-08T04:48:35.617 回答
0

从我的角度来看,一个人应该在自己的帐户下运行这样的服务。如果该服务已经存在,请创建一个本地用户帐户 - 我使用了“兔子”并给它一个密码。我创建的帐户从我这里获得了管理员权限 - 但我目前只是不知道,这是需要的。至少它不应该——稍后会看到。如果您有帐户/凭据,请转到服务管理器并单击服务的属性。在第二个选项卡(“登录”)上,选中“此帐户”并输入用户名和密码。如果您有该服务的帐户,您应该可以使用用户登录。 使用特定帐户运行服务 然后您可以指定具有用户范围的环境变量。为此,请使用您创建的用户登录。转到控制面板/系统并单击“高级”: 见底部:环境变量

在环境 UI 中,在顶部面板中输入用户特定的变量: 顶部面板中的用户变量

注意:这不是我的兔子用户,因为我目前无法在那里登录。我输入的变量 - 不保证,它是正确的 - 如下:

RABBITMQ_BASE=C:\Users\rabbit\AppData\Roaming\RabbitMQ
RABBITMQ_CONFIG_FILE=C:\Users\rabbit\AppData\Roaming\RabbitMQ\rabbitmq
RABBITMQ_LOGS=C:\Users\rabbit\AppData\Roaming\RabbitMQ\log
RABBITMQ_LOG_BASE=C:\Users\rabbit\AppData\Roaming\RabbitMQ\log
RABBITMQ_NODE_IP_ADDRESS=192.168.26.3

这对我有用。上次我安装它 - 几年前 - 更好理解 - 这一次,对不起,我不......但让它工作。

于 2015-10-08T21:53:24.647 回答
0

从 2021 年开始入住:

这些都不适合我,问题实际上是我的 WSL Ubuntu 发行版中运行了另一个 RabbitMQ 实例。

于 2021-03-26T16:02:14.437 回答
0

我遇到了这个问题,我可以解决的唯一方法是卸载 RabbitMQ,卸载 Erlang,重新启动服务器并安装一个干净的 Erlang 和一个干净的 RabbitMQ。经过这一切,我终于可以将 RabbitMQ 实例安装并启动为 Windows 服务了。

尝试了这篇文章中的所有解决方案,但没有任何效果。

幸运的是,它在我们的开发服务器中,所以损失是可以接受的。

这种方法的缺点是您会丢失所有配置(所有用户、虚拟主机等)。一切都消失了,您必须从头开始重新配置 RabbitMQ 实例。

于 2021-02-13T23:57:06.967 回答
0

根据 RabbitMQ 在 Windows 上安装指南here

作为服务运行时的故障排除

如果 Erlang VM 在 RabbitMQ 作为服务运行时崩溃,而不是将故障转储写入当前目录(这对服务没有意义),它会写入基本目录中的 erl_crash.dump 文件RabbitMQ 服务器(由 RABBITMQ_BASE 环境变量设置,默认为 %APPDATA%\%RABBITMQ_SERVICENAME% - 通常为 %APPDATA%\RabbitMQ 否则)。

基本上这意味着添加一个名为 RABBITMQ_BASE 的环境变量,其值为 %APPDATA%\RabbitMQ

这解决了我的问题。

于 2020-01-20T20:36:23.993 回答
0

我遇到了同样的问题,我刚刚下载了最新版本的 erlang 和 RabbitmQ,这为我解决了这个问题。

于 2021-12-16T16:57:30.707 回答