2016-11-10 12 views
7

複数のRabbitMQノードが異なるマシンで動作しています。各ノードをインストールした後、私はそれらのそれぞれに共通のクッキーを指定できませんでしたので、私は戻って手作業でファイル.erlang.cookieを変更しなければなりませんでした。私の問題は、これを実行した後、私は矛盾するエラーメッセージを得ることです。私はrabbitmqctlステータス をすれば、私は次のエラーを取得する:クッキーファイルを変更した後、RabbitMQノードの認証に失敗しました

DIAGNOSTICS

attempted to contact: ['[email protected]']

[email protected]: * connected to epmd (port 4369) on nc-mso-test01 * epmd reports node 'rabbit' running on port 25672 * TCP connection succeeded but Erlang distribution failed

  • Authentication failed (rejected by the remote node), please check the Erlang cookie

current node details: - node name: '[email protected]' - home dir: C:\Users\jol - cookie hash: 9/Hx6l+wLQv3NkmSDFqBog==

私が呼ぶものは何でもスクリプト、私は同じエラーを取得します。私はサービスを再起動しようとしましたが、それを取り除き、rabbitmq-serviceを通してインストールしました。エラーは解決しません。私が他の投稿から集めることができる理由は、ノードとerlangブローカーが別々のユーザーで実行されていて、それぞれが異なるバージョンのCookieを持っているという理由があります。

サーバーとノードを再起動して、両方とも新しいCookieファイルを使用するにはどうすればよいですか?

答えて

16

私は私の問題を解決しました。私は、RabbitMQのセットアップに2つのクッキーファイルがあり、1つはerlangコンポーネントのc:\ Windowsに、もう1つはC:\ Users \%USER%にあります。私が理解しているところでは、erlan VMがそれ自身のアプリケーションユーザであり、RabbitMQノードが別のユーザで起動されているとしたら、2つのクッキーファイルが異なっていて、同期する前にそれらを同期させなければならなかったクラスタクッキー

+1

THX、問題それらを同期させることで解決しました(コピー&ペーストのみ)。 –

+6

50/50チャンスを排除するには...同期するには:C:\ Users \%USER%クッキー – theKRAY

+1

https://www.rabbitmq.com/install-windows-manualを上書きするようにC:\ Windowsクッキーをコピーします。 htmlの場合は、ここでは2つのCookieのパスを指定して問題を説明します。 – William

4

ドキュメントは言う:20.2で始まるErlangのバージョンで

The cookie file used by the Windows service account and the user running CLI tools must be synchronised. RabbitMQ-Clustering Guide

を、クッキーファイルの場所は次のとおりです。CLIツールを実行しているユーザーの場合

  • - 通常C:\Users\%USERNAME%\.erlang.cookieユーザー%USERNAME%
  • ためのRabbitMQのためにWindowsサービス - %USERPROFILE%\.erlang.cookie (通常C:\WINDOWS\system32\config\systemprofile

20.2より前のErlangバージョン(例: 19.3または20.1)、クッキーファイルの場所は次のとおりです。CLIツールを実行しているユーザーの場合

  • - 通常C:\Users\%USERNAME%\.erlang.cookieユーザー%USERNAME%
  • ためのRabbitMQのWindowsサービスの場合 - %WINDIR%\.erlang.cookie(通常C:\Windows\.erlang.cookie
関連する問題