私はシェフを使用してウサギをクラスター化しようとしています
これが私のエラーです。 2番目のノードですべてのrabbitをシャットダウンしました。
rabbitmqctl join_cluster --ram rabbit@ip-10-158-xxx-xxx
Error: mnesia_unexpectedly_running
それで..契約は何ですか?私はこれを試してみました http://agiletesting.blogspot.com/2010/05/rabbitmq-clustering-in-ubuntu.html /var/lib/rabbitmq/mnesiaを削除することです。立ち入り禁止。そして、どのサーバーで実行されていませんか?すべて?
ありがとう
Clusterコマンドを発行する前に、必ずSudo rabbitmqctl stop_app
を呼び出してください。それが私には問題のようでした。
次に、Sudo rabbitmqctl start_app
を呼び出して、もう一度開始してください:)
very @Itai Ganotのコメントの重要な部分を呼び出すには、すぐには直観的ではありません。1つを除くすべてのノードでrabbitmqctl stop_app
を実行する必要があります。すべてのノードでrabbitmqctl stop_app
を実行すると、別のメッセージError: mnesia_not_running
が表示されます。
要するに:
Error: mnesia_unexpectedly_running
は、「このノードでrabbitmqctl stop_app
を実行する必要がありますError: mnesia_not_running
は、「クラスター化しようとしているノードでrabbitmqctl start_app
を実行する必要がある」という意味です。接続しようとしているノードからCookieをコピーする必要があります
2つのノードを持つ例を使用してみましょう:rabbit @ node1とrabbit @ node2
rabbit@node1
に移動し、猫/var/lib/rabbitmq/.erlang.cookie
からCookieをコピーしますrabbit@node2
に移動して、現在のCookieを削除し、新しいCookieを貼り付けます。同じノードで次のコマンドを実行します
/usr/sbin/rabbitmqctl stop_app
/usr/sbin/rabbitmqctl reset
/usr/sbin/rabbitmqctl cluster rabbit@node1
それでうまくいくはずです。
同じ手順が文書化されています here
2つのrabbitmqサーバーのクラスターを作成しようとしたときにも同じエラーが発生しました。
私の知る限り、クラスターを作成する実際のプロセスは、他の回答で説明されているプロセスとは少し異なりますが、最終的に私のために機能したプロセスです。
2つ以上のノードでrabbitmq-serverを実行した後、1つのサーバーを選択します。これは変更しないサーバーです。他のすべてのノードでrabbitmasterと呼びましょう。次の手順に従います。
1. Make sure the rabbitmq-server is not running.
2. # su - rabbitmq
3. $ rabbitmq-server -detached
4. $ rabbitmqctl cluster_status
5. $ rabbitmqctl stop_app
6. $ rabbitmqctl join_cluster rabbit@rabbitmaster
7. $ rabbitmqctl start_app
これでrabbitmqctl cluster_status
を実行して、構成したばかりのノードとrabbitmqマスターの両方を確認できます。
詳細は RabbitMQ公式サイト にあります。
私自身の質問に答えるのは好きではありませんが、ラビンを使ったシェフのクラスタリングは本当に苦痛でした。ウサギの問題は、ブートストラップで-Nオプションを使用しないことで解決されました。ウサギは、ホスト名を変更することを好みません。
したがって、ウサギサイトのドキュメントに従ってクラスタリングを行うと、期待どおりに機能しました。 chefで-Nオプションを使用すると、重大な問題が発生します。