gpt4 book ai didi

windows - 在 Windows 服务器上设置 RabbitMQ 集群

转载 作者:可可西里 更新时间:2023-11-01 09:25:48 25 4
gpt4 key购买 nike

我正在尝试在 Windows 服务器上设置 RabbitMQ 集群,这需要使用共享的 Erlang cookie 文件。根据文档,我需要做的就是确保不同机器上的根目录包含相同的.erlang.cookie 文件。所以我所做的是在两台机器上找到这些文件并用相同的共享版本覆盖它们。

之后,所有 rabbitmqctl 命令在具有新文件版本的机器上均失败,并显示“无法连接到节点...”错误消息。我尝试重启 RabbitMQ Windows 服务,但 rabbitmqctl 仍然提示。我什至在那台机器上重新安装了 RabbitMQ,但随后 .erlang.cookie 被重置回旧版本。每当我尝试使用新版本的 cookie 文件时,rabbitmqctl 都会失败。当我恢复旧版本时,它运行良好。

基本上我被卡住了,在解决这个问题之前无法继续集群设置。感谢您的帮助。

更新:收到来自 RabbitMQ 的回复:“rabbitmqctl 将从用户主目录中获取 cookie,而服务将从 C:\windows 中获取它。因此您需要将它们彼此同步,以及与另一台机器同步。”

这基本上意味着需要在两个地方重新定位 cookie 文件:C:\Windows 和 current_user。

最佳答案

你有上面的正确。该服务将使用 C:\Windows 中的 cookie,当您使用 rabbitmqctl.bat 查询状态时,它会使用您用户目录中的 cookie (% USERPROFILE%).

当cookies不匹配时的错误看起来像

C:\Program Files (x86)\RabbitMQ Server\rabbitmq_server-2.8.2\sbin>rabbitmqctl.bat status
Status of node 'rabbit@PC-FOOBAR' ...
Error: unable to connect to node 'rabbit@PC-FOOBAR': nodedown

DIAGNOSTICS
===========

nodes in question: ['rabbit@PC-FOOBAR']

hosts, their running nodes and ports:
- PC-FOOBAR: [{rabbit,49186},{rabbitmqctl30566,63150}]

current node details:
- node name: 'rabbitmqctl30566@pc-foobar'
- home dir: U:\
- cookie hash: Vp52cEvPP1PukagWi5S/fQ==

Windows 上的 RabbitMQ cookie 还有一个陷阱...如果您有 %HOMEDIR%%HOMEPATH% 环境变量(正如我们在当前版本中所做的那样) test 环境,并将上面的 homedir 设置为 U:\),然后 RabbitMQ 将在那里获取 cookie,如果没有,它会自己创建一个并将其写入那里。这让我在试图让它工作时把头撞在 table 上很长一段时间。一旦我发现这个陷阱,很明显 cookie 文件是问题所在(如记录的那样),它们只是在一个奇怪的位置(没有记录 AFAIK)。

希望这能解决一些人在 Windows 上设置 RabbitMQ 集群的痛苦。

关于windows - 在 Windows 服务器上设置 RabbitMQ 集群,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10121706/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com