我试图在Windows上设置一个服务器集群的RabbitMQ,这需要使用共享的Erlang cookie文件。 根据该文件,所有我需要做的是,确保在不同机器上的根目录中包含相同的.erlang.cookie文件。 所以我所做的是发现在两台机器上这些文件,并使用相同的共享版本改写他们。
之后,所有rabbitmqctl命令失败,新文件版本的机器上“无法连接到节点...”的错误消息。 我试图重新启动RabbitMQ的Windows服务,但仍rabbitmqctl抱怨。 我甚至重新安装RabbitMQ的那台机器上,但随后被.erlang.cookie重置回旧版本。 每当我试图用cookie文件的新版本,rabbitmqctl失败。 当我恢复旧的版本,它工作得很好。
基本上,我被卡住,无法与集群继续安装,直到我解决这个问题。 任何帮助表示赞赏。
UPDATE:收到RabbitMQ的答案:“rabbitmqctl会拿起从用户的主目录中的cookie,而服务将它捡起来,从C:\ WINDOWS所以你需要同步的对方,以及与其他机。”
这基本上意味着,cookie文件,需要在两个地方被repaced:C:\ Windows和CURRENT_USER。
你有以上是正确的。 该服务将使用的cookie的C:\Windows
,当你使用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饼干......如果你有一个以上的疑难杂症%HOMEDIR%
和%HOMEPATH%
的环境变量(如我们在我们目前的测试环境中做,并设置主目录上面U:\
),然后RabbitMQ的将获得有饼干,如果没有一个它使一个良好并且有写它。 这让我撞我的头我的桌子上了好一阵子试图得到这个工作的时候。 一旦我发现这个疑难杂症很明显的Cookie文件是问题(如记录),他们只是在一个奇怪的位置(未记载据我所知)。
希望这解决了某人的痛苦在Windows上建立的RabbitMQ集群。