2012-04-12 24 views
3

WindowsサーバにRabbitMQクラスタを設定しようとしていますが、共有Erlang cookieファイルを使用する必要があります。ドキュメントによると、私がする必要があることは、異なるマシン上のルートディレクトリに同じ.erlang.cookieファイルが含まれていることを確認することだけです。だから私がやったことは、両方のマシンでこれらのファイルが見つけられ、同じ共有バージョンで上書きされました。WindowsサーバでRabbitMQクラスタを設定する

その後、「ノードに接続できません...」というエラーメッセージが表示された新しいファイルバージョンのマシンで、すべてのrabbitmqctlコマンドが失敗しました。私はRabbitMQ Windowsサービスを再起動しようとしましたが、まだrabbitmqctlは不平を言っていました。私はそのマシンにRabbitMQを再インストールしましたが、.erlang.cookieは古いバージョンにリセットされました。新しいバージョンのCookieファイルを使用しようとするたびに、rabbitmqctlが失敗しました。古いバージョンを復元したとき、正常に動作しました。

基本的に私は立ち往生しており、この問題を解決するまでクラスタセットアップを続行できません。どんな助けもありがとうございます。

更新:RabbitMQから回答を受け取りました。 "サービスがC:\ windowsから取得する間、rabbitmqctlはユーザーのホームディレクトリからCookieを取得しますので、これらを互いに同期させる必要があります。他のマシンと同じように。 "

これは、基本的に、CookieファイルをC:\ Windowsとcurrent_userの2つの場所に置き換える必要があることを意味します。

答えて

3

上記は正しいものです。サービスはC:\Windowsでクッキーを使用し、rabbitmqctl.batを使用してステータスを照会すると、ユーザーディレクトリ(%USERPROFILE%)のクッキーを使用しています。

クッキーが

C:\Program Files (x86)\RabbitMQ Server\rabbitmq_server-2.8.2\sbin>rabbitmqctl.bat status 
Status of node '[email protected]' ... 
Error: unable to connect to node '[email protected]': nodedown 

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

nodes in question: ['[email protected]'] 

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

current node details: 
- node name: '[email protected]' 
- home dir: U:\ 
- cookie hash: Vp52cEvPP1PukagWi5S/fQ== 

のようなエラーを見て一致しない場合は、Windows上のRabbitMQクッキーのための1つのより多くの落とし穴があります...私たちは私たちの中でそうであるように、あなたは%HOMEDIR%%HOMEPATH%環境変数を(持っている場合現在のテスト環境を設定し、上にhomedirをU:\に設定すると、RabbitMQはそこにクッキーを取得し、存在しなければそれを作成してそこに書き込みます。これは、この作業をしようとするとかなり長い間、私の机の上に頭を抱えていました。私がこの問題を発見した後は、クッキーファイルが(文書化されているように)ちょうど奇妙な場所(AFAIKには書かれていない)にあったことが明らかでした。

これはWindowsでRabbitMQクラスタリングを設定する誰かの苦労を解決することを望みます。

関連する問題