更改cookie文件后,RabbitMQ节点验证失败

Big*_*der 9 windows cookies messaging rabbitmq server

我有多个RabbitMQ节点在不同的机器上运行.安装每个节点后,我没有为每个节点指定一个共同的cookie,所以我不得不返回并手动更改文件.erlang.cookie.我的问题是,在这样做之后,我得到了冲突的错误消息.如果我做rabbitmqctl状态,我会收到以下错误:

诊断

试图联系:['rabbit @ nc-mso-test01']

rabbit @ nc-mso-test01:*在nc-mso-test01上连接到epmd(端口4369)*epmd报告在端口25672上运行的节点'rabbit'*TCP连接成功但Erlang分发失败

  • 身份验证失败(被远程节点拒绝),请检查Erlang cookie

当前节点详细信息: - 节点名称:'rabbitmq-cli-45 @nc-mso-test01' - 主目录:C:\ Users\jol - cookie哈希:9/Hx6l + wLQv3NkmSDFqBog ==

无论我调用什么脚本,我都会得到同样的错误.我尝试重新启动服务,通过rabbitmq-service删除并安装它.错误仍然存​​在.从我可以从其他帖子中收集到的,原因可能是节点和erlang代理在不同的用户上运行,并且每个用户都有不同版本的cookie,其中一个与旧版本相关.

如何使服务器和节点重新启动,以便它们都使用新的cookie文件?

Big*_*der 19

我解决了我的问题.我错过了RabbitMQ设置有两个cookie文件的事实,一个在c:\ Windows中用于erlang组件,另一个在C:\ Users \%USER%中.根据我的理解,如果erlan VM是在它自己的应用程序用户上启动的,RabbitMQ节点是在不同的用户上启动的,这本来就是我的情况,那么两个cookie文件是不同的,我必须在同步之前同步它们集群cookie.

  • 消除50/50的机会...同步:复制C:\ Windows cookie以覆盖C:\ Users \%USER%cookie (8认同)
  • thx,通过同步这些问题解决了问题(只需复制和粘贴). (2认同)
  • https://www.rabbitmq.com/install-windows-manual.html,此处还介绍了该问题,并给出了两个cookie的路径. (2认同)

Lap*_*czo 6

文件说:

必须同步Windows服务帐户和运行CLI工具的用户使用的cookie文件.RabbitMQ-Clustering Guide

在以20.2开头的Erlang版本上,cookie文件位置为:

  • 对于运行CLI工具C:\Users\%USERNAME%\.erlang.cookie的用户- 通常是用户%USERNAME%
  • 对于RabbitMQ Windows服务 - %USERPROFILE%\.erlang.cookie (通常C:\WINDOWS\system32\config\systemprofile)

在20.2之前的Erlang版本(例如19.3或20.1)上,cookie文件位置为:

  • 对于运行CLI工具C:\Users\%USERNAME%\.erlang.cookie的用户- 通常是用户%USERNAME%
  • 对于RabbitMQ Windows服务 - %WINDIR%\.erlang.cookie(通常C:\Windows\.erlang.cookie)