Windows 7 Enterpriseマシンで、Erlang 17.4およびRabbitMQ 3.4.3 x64を新規インストールしました。インストールは成功し、問題なく行われました。
最初のキューまたは交換をまだ作成しようとしませんでしたが、すでに問題が発生しています。この問題は another SO post に似ていますが、他の投稿にはクラスタリングが含まれているように見えますが、私は持っていません。さらに、他の投稿者はRabbitMQサービスを再起動することで問題を回避できます。そのアプローチは私にはうまくいきません。
私の「ノードダウン」問題は、RabbitMQコマンドプロンプトで明らかです。
C:\ Program Files(x86)\ RabbitMQ Server\rabbitmq_server-3.4.3\sbin> rabbitmqctl statusノードのステータスrabbit @ TPAJ05421843 ...
エラー:rabbit @ TPAJ05421843ノードに接続できません:nodedown診断
連絡を試みた:[rabbit @ TPAJ05421843]
rabbit @ TPAJ05421843:
* TPAJ05421843のepmd(ポート4369)に接続
* epmdレポート:ノード 'rabbit'がまったく実行されていません
TPAJ05421843上の他のノード:['RabbitMQ']
*提案:ノードを開始現在のノードの詳細:
-ノード名: 'rabbitmqctl-19884 @ TPAJ05421843'
-ホームディレクトリ:H:\
-Cookieハッシュ:PD4QQCYrf0TME9vIko3Xuw ==
上記に基づいて、明示的に「RabbitMQ」という名前のノードのステータスを確認することにしました。私はこれを得る:
C:\ Program Files(x86)\ RabbitMQ Server\rabbitmq_server-3.4.3\sbin> rabbitmqctl -n RabbitMQ status
ノード「RabbitMQ @ TPAJ05421843」のステータス...
エラー:ノード 'RabbitMQ @ TPAJ05421843'に接続できません:nodedown診断
連絡を試みました:['RabbitMQ @ TPAJ05421843']
RabbitMQ @ TPAJ05421843:
* TPAJ05421843のepmd(ポート4369)に接続
* epmdは、ポート59301で実行されているノード 'RabbitMQ'を報告します
* TCP接続は成功しましたが、Erlang配布は失敗しました
*提案:ホスト名の不一致?
*提案:Cookieは正しく設定されていますか?現在のノードの詳細:
-ノード名: 'rabbitmqctl-23076 @ TPAJ05421843'
-ホームディレクトリ:H:\
-Cookieハッシュ:PD4QQCYrf0TME9vIko3Xuw ==
少なくとも、ポート59301で実行されている 'RabbitMQ'を認識しているため、これはかろうじて優れています。
このトピックを調査しようとすると、「Cookieと一致していることを確認してください」という記事を見つけました。それに基づいて、RabbitMQクラスターを作成していない(作成するつもりもない)ため、「Cookieの不一致」は自分には関係ないと主張する この記事 を見つけました。
私は何をすべきか?
今日も同じ問題がありました。 Cookieまたはファイアウォールの問題はなく、Windowsはサービスが正常に実行されていることを報告しました。これが最終的にそれを修正したものです:
何らかの理由で、インストーラーによってセットアップされたサービスがいくつかのレジストリエントリを構成しませんでした。これを実行すると、それらが正しく設定され、サービスの実行が許可されました。
私が気づいたことの1つは、これを行う前は、Windowsサービスビューにサービスの説明がなかったことです。 rabbitmq-serviceコマンドを使用してインストールした後、説明が表示されました。同じ問題が発生している場合、これは簡単な指標になる場合があります。
@eddyPがコメントしたように、2つの異なるErlang Cookieファイルがありました。
$env:WINDIR\system32\config\systemprofile\.erlang.cookie
にあるservercookieファイル(Erlang 20.2より前は$env:WINDIR\.erlang.cookie
にありました)。$env:USERPROFILE\.erlang.cookie
にあるclientCookieファイル。サーバーCookieファイルをクライアントファイルにコピーして、両方のファイルが同じになるようにして、問題を修正しました。
詳細については、 「ノード(およびCLIツール)が相互に認証する方法:Erlang Cookie」 を参照してください。
RabbitMQコマンドプロンプトsbin(管理者として実行)から次のコマンドを実行します。
rabbitmq-server restart
Windownでは、何らかの理由でc:\Users\xxx\AppData\Roaming\RabbitMQ\db\
(xxx
はユーザー名です)のすべてのフォルダーを削除してから、@ Jerdev answerと
rabbitmqを開始net start rabbitmq
rabbitmqサービスrabbitmqctl status
を確認してください
RabbitMQメーリングリストの同じ質問: https://groups.google.com/forum/#!topic/rabbitmq-users/0s1ExFhl4hM 。
Erlang Cookieはrabbitmqctl
だけでなくサーバーノードでも使用されるため、適切な場所に配置する必要があります。 Windows quirks の「管理者以外のユーザーとしてインストールすると、.erlang.cookieが間違った場所に残る」を参照してください。
Windows 10でこれを行うと問題が解決します。
同じエラーメッセージに対するLinuxの回答を探してここに来る場合は、試してください
Sudo service rabbitmq-server start
(これはブロッキングコマンドではありません)
私にとっては、他のコメントのようにクッキーは一致しませんでしたが、C:\ Windows\System32\config\systemprofileと同じ問題を抱えている人のために場所は異なるパスにありました
以下を実行してください。
インストール後、以下のコマンドを使用して管理プラグインを有効にします。
rabbitmq-plugins enable rabbitmq_management
これは私が私のWindows 8システムでエラーを解決した方法です:
WindowsのAppDataフォルダーにあるrabbitmq.config
ファイルの構文エラーを確認します。
構文エラーがあるかどうかを確認する方法は?
次のsbinフォルダーからrabbitmq-server restart
を実行できます。Program Files/RabbitMQ/rabbitmq_server_x.x/sbin/
。
rabbitmq.config
のコンテンツをrabbitmq.config.example
に置き換えます。
Rabbitmq.config.exampleは次の場所にあります。
Program Files/RabbitMQ/rabbitmq_server_x.x/etc/
警告、以前にrabbitmqで保存した設定は失われます。
ファイルを変更した後、単にヒット
rabbitmq-server restart
上記のsbinフォルダーにあります。
これは、ウサギMQがWindowsに正しくインストールされていないために発生しています(このエラーは誤解を招くものです!)。それを解決するには、次の手順を実行します。
これで、6を実行できます。rabbitmq-pluginsでrabbitmq_managementを有効にします7. rabbitmq-service start 8.そして最後に、次を実行します:start http:// localhost:15672 9.ユーザーとしてログオンします「guest」とパスワード:「guest」とそれだけです。ハッピーラビット!
WINDOWS OSの再起動に失敗し、古いバージョンのERLANG(再起動する前にアンインストールした)を削除しました。
どういうわけか、Rabbitの新規インストールは古い(インストールされていないバージョン)を参照しており、すべての不一致が発生していました。手掛かりは、古いERLANGバージョンからのウサギと呼ばれる「サービス」でした。