web-dev-qa-db-ja.com

RabbitMQ、アーラン:「アーランCookieが同じであることを確認する」方法

私はrabbitMQを杯で使用していますが、今朝問題が発生しました。 rabbitmqctl statusを実行すると、次のことがわかります。

C:\Users\BuildnTest2>rabbitmqctl status
Status of node 'rabbit@BUILDNTEST2-PC' ...
Error: unable to connect to node 'rabbit@BUILDNTEST2-PC': nodedown diagnostics:
- nodes and their ports on BUILDNTEST2-PC: [{rabbit,49164},
                                        {rabbitmqctl27693,49286}]
- current node: 'rabbitmqctl27693@BuildnTest2-PC'
- current node home dir: C:\Users\BuildnTest2
- current node cookie hash: cSYB8tsT4mGGZHSUGQi08w==

うさぎのトラブルシューティングページにアクセスすると: http://www.rabbitmq.com/troubleshooting.html 彼らは言う:

then you should make sure the erlang cookies are the same.

これは何を意味し、どのように達成されますか?

グーグルはこのフォーラムのスレッドを発見しました http://lists.rabbitmq.com/pipermail/rabbitmq-discuss/2011-January/010806.html この問題を解決するための指示があると主張しますが、悲しいかな答えがないウサギのサイトに戻ります。

29
Mikey

RabbitMQサイトでの特定の質問に対する最終的な回答は http://www.rabbitmq.com/clustering.html にあります

ただし、ステータスダンプからは、これが問題であるかのようには見えません。ノードがダウンしているように見えます。クラスターを実行していないと仮定して正しいですか?接続できないノードが、コマンドを実行しているノードと同じであるという事実は、これを示しています。

RabbitMQサービスが実行されている場合は、rabbitmqctl startを実行します。実行されていない場合は、サービスに移動して開始し、上記を実行します。アーランCookieは、クラスター化されていない構成には関係ありません。

9
Steve Martin

私の場合、何らかの理由で、.erlang.cookieの下に保存されたCookie(C:\Windows\)は、自宅の下に保存されたCookie(%HOMEDRIVE%%HOMEPATH%C:\私にとっては)。

C:\WindowsからホームフォルダーにCookieをコピーすると、すべてが機能し始めました。

16

グーグルにいる人にとっては、環境設定からHOMEパラメーターが欠落していると、この同じアーランCookieエラーが発生する可能性があります。たとえば、rabbitmqのデフォルトのArchLinuxインストールで。

この場合、サービスはsystemctl start rabbitmqで開始され、Cookieを生成しますが、rabbitmqctl statusなどのcliツールはホームの場所がわからないため、そのままでは機能しません。

default/etc/rabbitmq/rabbitmq-env.conf

NODENAME=rabbit
NODE_IP_ADDRESS=0.0.0.0
NODE_PORT=5672

LOG_BASE=/var/log/rabbitmq
MNESIA_BASE=/var/lib/rabbitmq/mnesia

modified/etc/rabbitmq/rabbitmq-env.conf

NODENAME=rabbit
NODE_IP_ADDRESS=127.0.0.1
NODE_PORT=5672

HOME=/var/lib/rabbitmq
LOG_BASE=/var/log/rabbitmq
MNESIA_BASE=/var/lib/rabbitmq/mnesia

ref https://bbs.archlinux.org/viewtopic.php?id=191587

12
slf

それが価値があることについては、2018年には、ドキュメントは間違っています。 Windows 10では、Cookieファイルのデフォルトの場所は次のように表示されます。

C:\Windows\System32\config\systemprofile

とない

C:\Windows

ドキュメントが言うように。

最善の方法は、ログファイルを確認することです。ログファイルは通常、ユーザー%AppData%\Roaming\RabbitMQ\logディレクトリ。

ログファイルには次のエントリが含まれており、Cookieの場所を特定するのに役立ちました。

node           : rabbit@computername
home dir       : C:\WINDOWS\system32\config\systemprofile
10
neural

Erlangプロセスを実行しているユーザーのホームディレクトリに、隠しファイル.erlang.cookieがあります。アーランクラスターのトポロジを担当する文字列を保持します。接続するすべてのノードで文字列(Cookie)が同じであることを確認してください。 Cookieがない場合は作成します。

9
user425720

Erlang Cookieの同期(手動でインストールされたWindowsサービスを実行する場合)rabbitmqctl.batが機能するには、サービスアカウントとrabbitmqctl.batを実行しているユーザーが使用するErlangセキュリティCookieを同期する必要があります。 Erlang Cookieファイルに同じ文字列が含まれるようにするには、Windowsディレクトリ(通常はC:\ WINDOWS.erlang.cookie)から.erlang.cookieファイルをコピーして、ユーザー.erlang.cookieを置き換えます。ユーザーCookieは、ユーザーのホームディレクトリ(%HOMEDRIVE %% HOMEPATH%)にあります。 C:\ Documents and Settings \%USERNAME%.erlang.cookieまたはC:\ Users \%USERNAME%.erlang.cookie(Windows Vista以降)。

https://www.rabbitmq.com/install-windows-manual.html

4
Aravind

CookieをC:\Windowsからホームフォルダー( C:\Users\Current User\.erlang.cookie)にコピーすると、すべてが正常に動作し始めました。

2
onemanarmy

OSXでrabbitmq-serverのMacPortsバージョンを実行する場合は、〜rabbitmq/.erlang.cookieファイルを確認する必要があります。 /opt/local/var/lib/rabbitmq/.erlang.cookieにあるものと一致する必要があります。一致しない場合、「rabbitmqctl」は接続できません。

1
Bertl

クラスター化しようとしていて、Cookieが一致したとしても機能しませんでした...最終的に機能したのは、環境変数でERLANG_HOME変数を設定することだけでした。

これを設定した後、マスターブローカーからCookieをクラスター化するものにコピーでき、結合は正常に機能しました。

「ERLANG_HOMEを、実際にErlangインストールを配置した場所に設定します。例:C:\ Program Files\erlx.x.x(フルパス)。RabbitMQバッチファイルは、%ERLANG_HOME%\ bin\erl.exeの実行を想定しています。

[スタート]> [設定]> [コントロールパネル]> [システム]> [詳細設定]> [環境変数]に移動します。システム環境変数ERLANG_HOMEを作成し、bin\erl.exeを含むディレクトリの完全パスに設定します。 」

https://www.rabbitmq.com/install-windows-manual.html

1
Todd Vance

Rabbitmq erlang.cookieがユーザーディレクトリのerlang.cookieと一致することを確認します。

Rabbitmqアーランクッキー...

...通常、Unixシステムでは/var/lib/rabbitmq/.erlang.cookieに、WindowsではC:\ Users\Current User.erlang.cookieまたはC:\ Documents and Settings\Current User.erlang.cookieにありますシステム。 ( http://www.rabbitmq.com/clustering.html#setup

〜/ .erlang.cookieと一致することを確認してください。

1
kipple

クローンサーバーが名前の変更により動作するときに、この問題を観察しました。 rabbitmqとerlangのクリーンインストール後に問題が解決しました。

0
ali kucuk