2013-01-03 2 views
29

Ich versuche, Kaninchen clustern Koch mitRabbit - Fehler: mnesia_unexpectedly_running

Hier ist mein Fehler. Ich schalte alle Kaninchen auf dem zweiten Knoten ab.

rabbitmqctl join_cluster --ram [email protected] 

Error: mnesia_unexpectedly_running 

Also ... was ist das Geschäft? Ich habe versucht, dies aus http://agiletesting.blogspot.com/2010/05/rabbitmq-clustering-in-ubuntu.html die zu entfernen ist/var/lib/rabbitmq/Mnesia. No Go. Und auf welchem ​​Server läuft es nicht? Alle?

Dank

Antwort

0

Ich mag nicht meine eigene qustion aber Clustering rabbin Usig Koch ein echter Schmerz war zu beantworten. Probleme mit Hasen wurden behoben, indem die Option -N nicht mit Bootstrapping verwendet wurde. Rabbit mag es nicht, den Hostnamen zu ändern.

die Dokumentation auf der Kaninchen-Website für das Clustering So..following arbeitete wie erwartet. Wenn Sie die Option -N mit Koch verwenden, treten größere Probleme auf.

+0

Oder editieren Sie die Datei/etc/hosts der Rabbitmq-Slaves mit den Einträgen für die Knoten und weisen Sie allen Mitgliedern eine elastische IP zu .. Das Ändern des Hostnamens oder die Verwendung der Option -N ist nicht das Problem, Sie müssen nur arbeiten drumherum oder override t Das Kochbuch ist voreingestellt. – Sergio

2

Sie müssen das Cookie von dem Knoten kopieren Sie

Lassen Sie uns verwenden ein Beispiel mit zwei Knoten zu verbinden versuchen: Kaninchen @ node1 und Kaninchen @ Knoten2

  1. Zum [email protected] und kopieren Sie die Cookie von Katze /var/lib/rabbitmq/.erlang.cookie
  2. zum [email protected] den aktuellen Cookie entfernen und das neue einfügen.
  3. Führen Sie die folgenden Befehle auf dem gleichen Knoten

    /usr/sbin/rabbitmqctl stop_app 
    /usr/sbin/rabbitmqctl reset 
    /usr/sbin/rabbitmqctl cluster [email protected] 
    

Das sollte es tun.

Das gleiche Verfahren wird here dokumentiert

+0

Für Windows (In erhöhten Eingabeaufforderung): 1. rabbitmqctl stop_app 2. rabbitmqctl zurücksetzen 3. rabbitmqctl start_app –

44

Stellen Sie sicher, sudo rabbitmqctl stop_app aufrufen, bevor der Cluster-Befehl ausgibt. Das schien das Problem für mich zu sein.

Dann Sie sudo rabbitmqctl start_app stellen Sie sicher, rufen Sie es erneut zu beginnen :)

+1

Beachten Sie, dass ich beide Schritte getrennt durchführen musste. Die Verwendung von 'sudo rabbitmqctl force_reset' hat nicht funktioniert. – sheldonkreger

1

erhielt ich auch den gleichen Fehler beim Versuch, einen Cluster von zwei rabbitmq-Server zu erstellen.

Soweit ich der eigentliche Prozess weiß, ist einen Cluster erstellen ein wenig anders als die in den anderen Antworten beschrieben, aber ist derjenige, der schließlich für mich gearbeitet:

Nachdem Sie zwei oder mehr haben Knoten rabbitmq-Server ausgeführt wird, wählen Sie einen Server und das ist die, die Sie sich nicht berühren - lasst es rabbitmaster nennen, in allen anderen Knoten folgendermaßen vor:

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 [email protected] 
7. $ rabbitmqctl start_app 

Jetzt können Sie rabbitmqctl cluster_status und sehen sowohl die laufen Knoten, den Sie gerade konfiguriert haben, und der rabbitmq-Master.

Weitere Informationen finden Sie in RabbitMQ Official site finden.

3

Um ein sehr nennen wichtiges Stück von @Itai Ganot Kommentar, der nicht sofort intuitiv ist: Sie müssen rabbitmqctl stop_app auf allen Knoten außer einem ausführen. Wenn Sie rabbitmqctl stop_app auf allen Knoten ausführen, erhalten Sie eine andere Nachricht: Error: mnesia_not_running.

Kurz:

  • Error: mnesia_unexpectedly_running bedeutet „Sie rabbitmqctl stop_app auf diesem Knoten
  • Error: mnesia_not_running ausführen müssen, bedeutet‚Sie rabbitmqctl start_app auf dem Knoten ausführen müssen Sie versuchen, mit‘
Cluster
Verwandte Themen