作者:滑膛 | 来源:互联网 | 2023-05-24 08:29
在Windows 7企业版机器上,我重新安装了Erlang 17.4和RabbitMQ 3.4.3 x64.安装成功且平安无事.
我还没有尝试创建我的第一个队列或交换,但我已经看到了麻烦.这个问题类似于另一个SO帖子,但其他帖子似乎涉及群集,我没有.此外,其他海报可以通过重新启动RabbitMQ服务来规避他的问题; 这种方法对我不起作用.
我的"nodedown"问题在RabbitMQ命令提示符下很明显:
C:\ Program Files(x86)\ RabbitMQ Server\rabbitmq_server-3.4.3\sbin> rabbitmqctl status节点兔子的状态@ TPAJ05421843 ...
错误:无法连接到节点兔子@ TPAJ05421843:nodedown
诊断
试图联系:[rabbit @ TPAJ05421843]
rabbit @ TPAJ05421843:
*连接到TPAJ05421843上的epmd(端口4369)
*epmd报告:节点'rabbit'未
在TPAJ05421843 上的所有其他节点上运行:['RabbitMQ']
*建议:启动节点
当前节点详细信息:
- 节点名称:'rabbitmqctl-19884 @ TPAJ05421843'
- 主目录:H:\
- COOKIE哈希:PD4QQCYrf0TME9vIko3Xuw ==
基于以上所述,我选择检查明确命名为"RabbitMQ"的节点的状态.我明白了:
C:\ Program Files(x86)\ RabbitMQ Server\rabbitmq_server-3.4.3\sbin> rabbitmqctl -n RabbitMQ status
节点'RabbitMQ @ TPAJ05421843'的状态...
错误:无法连接到节点'RabbitMQ @ TPAJ05421843':nodedown
诊断
试图联系:['RabbitMQ @ TPAJ05421843']
RabbitMQ @ TPAJ05421843:
*连接到TPAJ05421843上的epmd(端口4369)
*epmd报告节点'RabbitMQ'在端口59301上运行
*TCP连接成功但Erlang分发失败
*建议:主机名不匹配?
*建议:COOKIE设置正确吗?
当前节点详细信息:
- 节点名称:'rabbitmqctl-23076 @ TPAJ05421843'
- 主目录:H:\
- COOKIE哈希:PD4QQCYrf0TME9vIko3Xuw ==
好吧,这几乎没有好转,因为至少它承认'RabbitMQ'在端口59301上运行.但是,这究竟是什么意思"Erlang发布失败"?
当我尝试研究这个主题时,我发现文章说"确保你有匹配的COOKIE".基于此,我发现这篇文章声称"COOKIE不匹配"与我无关,因为我还没有创建(也不打算创建)RabbitMQ集群.
我该怎么办?
1> 小智..:
我今天遇到了同样的问题.没有COOKIE或防火墙问题,Windows报告该服务已成功运行.这是最终修复它的原因:
以管理员身份运行RabbitMQ sbin命令提示符.
运行"rabbitmq-service remove"
运行"rabbitmq-service install"
由于某种原因,安装程序设置的服务未配置多个注册表项.运行此设置正确并允许服务运行.
我注意到的一件事是,在我这样做之前,Windows服务视图中没有对服务的描述.使用rabbitmq-service命令安装后,可以看到说明.如果您遇到同样的问题,这可能是一个快速指示器.
@ 244boy他的意思是以管理员身份运行命令提示符并导航到RabbitMQ\sbin文件夹.像C:\ Program Files\RabbitMQ Server\rabbitmq_server-3.6.6\sbin然后运行命令删除并重新安装服务.它对我有用.谢谢.
@Jerdev你以管理员身份运行`RabbitMQ sbin命令提示符是什么意思?
对于我运行上面提到的命令,然后rabbitmq-server restart命令工作.
2> 小智..:
正如@eddyP评论的那样,我有两个不同的Erlang COOKIE文件:
甲服务器 COOKIE文件,位于$env:WINDIR\system32\config\systemprofile\.erlang.COOKIE
(之前二郎20.2它位于$env:WINDIR\.erlang.COOKIE
).
一个客户端的COOKIE文件,位于$env:USERPROFILE\.erlang.COOKIE
.
通过客户端复制服务器COOKIE文件,以便两个文件都相同,为我解决了问题.
有关更多详细信息,请参阅"节点(和CLI工具)如何相互验证:Erlang COOKIE".
当多个安装/卸载无法帮助时,此解决方案确实有所帮助.谢谢.我从用户复制到Windows,但要确保两个文件都相同.
3> Andrei Karch..:
从RabbitMQ命令提示符sbin(以管理员身份运行)执行以下命令:
rabbitmq-server restart
这个命令很有帮助.它向我展示了日志的位置,我能够找到真正的错误(erlang版本对我来说太旧了)
这是一个阻塞命令..服务器重新启动正常,但命令不返回终端..不得不做ctrl + q退出停止服务器.. jerdev上面的答案工作得很好
4> nguyên..:
在Windown中,由于某些原因删除所有文件夹c:\Users\xxx\AppData\Roaming\RabbitMQ\db\
(xxx
是您的用户名)然后流@Jerdev回答和
启动rabbitmq net start rabbitmq
检查rabbitmq服务 rabbitmqctl status
5> Michael Klis..:
关于RabbitMQ邮件列表的相同问题:https://groups.google.com/forum/#!topic / rabbitmq-users/ss1/Fl1hh .
Erlang COOKIE rabbitmqctl
以及服务器节点都使用它,因此可能需要处理(放置在正确的位置).在Windows怪癖上看到"以非管理员用户身份安装将.erlang.COOKIE留在错误的位置" .