更改 cookie 文件后 RabbitMQ 节点身份验证失败 [英] RabbitMQ node authentification failed after changing cookie file
问题描述
我有多个 RabbitMQ 节点在不同的机器上运行.安装每个节点后,我未能为每个节点指定一个通用 cookie,因此我不得不返回并手动更改文件 .erlang.cookie .我的问题是,这样做之后,我收到了相互矛盾的错误消息.如果我做 rabbitmqctl status我收到以下错误:
I have multiple RabbitMQ nodes running on different machines. After installing each node I failed to specify a common cookie for each of them to use so I had to go back and manually change the file .erlang.cookie . My issue is that after doing this I get conflicting error messages. If i do rabbitmqctl status I get the following error:
尝试联系:['rabbit@nc-mso-test01']
DIAGNOSTICS
attempted to contact: ['rabbit@nc-mso-test01']
rabbit@nc-mso-test01: * 连接到 epmd (端口 4369) onnc-mso-test01 * epmd 报告节点兔子"在端口 25672 上运行 *TCP 连接成功但 Erlang 分发失败
rabbit@nc-mso-test01: * connected to epmd (port 4369) on nc-mso-test01 * epmd reports node 'rabbit' running on port 25672 * TCP connection succeeded but Erlang distribution failed
- 认证失败(被远程节点拒绝),请检查Erlang cookie
当前节点详情:- 节点名称:'rabbitmq-cli-45@nc-mso-test01'- 主目录:C:Usersjol- cookie 哈希:9/Hx6l+wLQv3NkmSDFqBog==
current node details: - node name: 'rabbitmq-cli-45@nc-mso-test01' - home dir: C:Usersjol - cookie hash: 9/Hx6l+wLQv3NkmSDFqBog==
无论我调用什么脚本,都会遇到同样的错误.我尝试重新启动服务,通过rabbitmq-service删除和安装它.错误仍然存在.根据我从其他帖子中收集到的信息,原因可能是节点和 erlang 代理在不同的用户上运行,并且每个用户都有不同版本的 cookie,其中一个被旧版本卡住了.
Whatever script I call, I get the same error. I tried restarting the service, removing and installing it through rabbitmq-service. The error persists. From what I can gather from other posts, the reason might be that the node and the erlang broker are running on separate users and each of them have a different version of the cookie, one is stuck with the old one.
如何让服务器和节点重启,让它们都使用新的cookie文件?
How can I make the server and node restart, so that both of them use the new cookie file?
推荐答案
我解决了我的问题.我错过了 RabbitMQ 设置有两个 cookie 文件的事实,一个在 c:Windows 中用于 erlang 组件,另一个在 C:Users\%USER%.据我了解,如果 erlan VM 是在它自己的应用程序用户上启动的,而 RabbitMQ 节点是在另一个用户上启动的,这就是我的情况,那么这两个 cookie 文件是不同的,我必须在同步之前同步它们集群 cookie.
I solved my issue. I missed the fact that the RabbitMQ setup has two cookie files, one in c:Windows for the erlang component, and one in C:Users\%USER%. From what I understand, if the erlan VM is started on it's own application user and the RabbitMQ node is started on a different user, which would have been my case, then the two cookie files were different and I had to sync those up before syncing the cluster cookies.
这篇关于更改 cookie 文件后 RabbitMQ 节点身份验证失败的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!