nth*_*ack 7 erlang rabbitmq server
我是一个新手,刚开始学习并在Windows System上安装RabbitMQ。
我将Erlang VM和RabbitMQ安装在自定义文件夹中,而不是默认文件夹中(两者都安装)。
然后,我重新启动了计算机。
顺便问一下?我的计算机名称是“ NULL”
我CD到RabbitMQ / sbin文件夹并使用命令?
rabbitmqctl status
但是返回消息是?
节点Rabbit @ NULL的状态...
错误:无法在节点“ rabbit @ NULL”上执行操作。请在下面查看诊断信息和建议。
最常见的原因是:
- 目标节点不可访问(例如,由于主机名解析,TCP连接或防火墙问题)
- CLI工具无法通过服务器进行身份验证(例如,由于CLI工具的Erlang cookie与服务器不匹配)
- 目标节点未运行
除了下面的诊断信息:
- 参见CLI中,集群和联网指南http://rabbitmq.com/documentation.html了解更多
- 在节点Rabbit @ NULL上查询服务器日志
诊断学
尝试联系:[rabbit @ NULL]
rabbit @ NULL:
- 在NULL上连接到epmd(端口4369)
- epmd报告节点“兔子”使用端口25672进行节点间和CLI工具通信
TCP连接成功,但Erlang分发失败
身份验证失败(被远程节点拒绝),请检查Erlang cookie
当前节点详细信息:
- 节点名称:rabbitmqcli70 @ NULL
- 有效用户的主目录:C:\ Users \ Jerry Song
- Erlang Cookie哈希:51gvGHZpn0gIK86cfiS7vp ==
我已经尝试重新启动RabbitMQ,我得到的是?
错误:名称为“兔子”的节点已在“ NULL”上运行
顺便说一句?我的计算机名称为“ NULL”, 并且启用了防火墙中的所有端口。
https://groups.google.com/forum/#!topic/rabbitmq-users/a6sqrAUX_Fg 描述了在全新安装的Rabbit MQ上存在cookie不匹配的问题。Windows上的简单解决方案是同步cookie
在此处也进行了描述:http : //www.rabbitmq.com/clustering.html#erlang-cookie
确保Cookie在下面的1、2和可选的3之间同步
%HOMEDRIVE%%HOMEPATH%\.erlang.cookie(通常C:\Users\%USERNAME%\.erlang.cookie用于用户%USERNAME%),如果同时设置了HOMEDRIVE和HOMEPATH环境变量
%USERPROFILE%\.erlang.cookie(通常C:\Users\%USERNAME%\.erlang.cookie)如果未同时设置HOMEDRIVE和HOMEPATH
%USERPROFILE%\.erlang.cookie(通常为C:\WINDOWS\system32\config\systemprofile)Windows服务帐户和运行CLI工具的用户使用的cookie文件必须通过从C:\WINDOWS\system32\config\systemprofile文件夹复制一个cookie文件来进行同步。
如果您在Windows10中使用专用的驱动器文件夹作为开发工具/软件的位置(而不是Windows默认位置),则https://www.rabbitmq.com/cli.html所述的同步erlang cookie的一种方法是:如下所述复制cookie。
请注意,在我的情况下,HOMEDRIVE和HOMEPATH环境变量均未设置。
将“ C:\ Windows \ system32 \ config \ systemprofile \ .erlang.cookie”复制到 “ C:\ Users \%USERNAME%\。erlang.cookie”之后,
错误“ tcp连接成功但Erlang分发失败”已解决。
现在,我可以成功使用“ rabbitmqctl.bat status”命令。因此,无需强制将其安装在默认位置即可解决此错误,因为同步Cookie可以解决该错误。
在我的情况下,类似的问题(由于 Erlang cookie 不匹配而导致身份验证失败)通过将.erlang.cookie文件从Windows系统目录复制C:\Windows\system32\config\systemprofile\.erlang.cookie到%HOMEDRIVE%%HOMEPATH%\.erlang.cookie(分别%HOMEDRIVE%设置为H:和%HOMEPATH%to \)来解决
Windows、Erlang OTP 24 和 RabbitMQ 3.8.19 的快速设置 TODO:
ERLANG_HOME(应该指向安装目录)RABBITMQ_SERVER(应该指向安装目录)%PATH%:;%RABBITMQ_SERVER%\sbin%RABBITMQ_SERVER%/sbin/rabbitmq-plugins.bat enable rabbitmq_management%USERPROFILEDIR%/AppData/Roaming/RabbitMQ/enabled_plugins->必须创建它%RABBITMQ_SERVER%/sbin/rabbitmq-plugins.bat enable rabbitmq_management并再次运行!
,或通过 cURL 检查:
curl -i -u guest:guest http://localhost:15672/api/vhosts
应该收到如下响应:
HTTP/1.1 200 OK
cache-control: no-cache
content-length: 186
content-security-policy: script-src 'self' 'unsafe-eval' 'unsafe-inline';
object-src 'self'
content-type: application/json
date: Tue, 13 Jul 2021 11:21:12 GMT
server: Cowboy
vary: accept, accept-encoding, origin
[{"cluster_state":{"rabbit@hostname":"running"},"description":"Default virtual host","metadata":{"description":"Default virtual host","tags":[]},"name":"/","tags":[],"tracing":false}]Run Code Online (Sandbox Code Playgroud)
PS 一些有用的 RabbitMQ CLI 命令(复制粘贴):
%RABBITMQ_SERVER%/sbin/rabbitmqctl start_app%RABBITMQ_SERVER%/sbin/rabbitmqctl stop_app%RABBITMQ_SERVER%/sbin/rabbitmqctl statusPPS更新:关于这个主题的好文章:https ://www.journaldev.com/11655/spring-rabbitmq
我是如何解决我的问题的
这主要是由于全新安装的 Rabbit MQ 上的 cookie 不匹配造成的
按照这 2 个步骤
1. copy the .erlang.cookie file from C:\Windows\System32\config\systemprofile paste it into
C:\Users\["your user nameusername"] folder
2. run rabbitmq-service.bat stop and rabbitmq-service.bat start
Run Code Online (Sandbox Code Playgroud)
完成后,当您运行“rabbitmqctl start_app”时,它应该可以工作了,祝您好运。
请注意,如果您有多个用户,请将其放入正确的用户文件夹中
我已使用默认安装文件夹在计算机中重新安装了 RabbitMQ
然后用命令检查:
rabbitmqctl status
现在它可以工作了,不是 Erlang VM 的问题。(意味着 Er 可以安装在另一个文件夹中)
如果我们不使用 RabbitMQ默认设置需要文件夹(C:\Program Files\RabbitMQ Server),它会导致一些我现在无法找出的问题(例如这个)
如果有人发现了,我希望你能告诉我原因以及如何解决。
| 归档时间: |
|
| 查看次数: |
12667 次 |
| 最近记录: |