2016-04-12 4 views
1

Ich habe einen Cluster von 3 Rabbitmq-Knoten verteilt auf 3 verschiedenen Servern. Der zweite und dritte Knoten verbindet den ersten Knoten und bildet den Cluster. Beim Testen auf Failover stelle ich fest, dass der primäre Knoten nach dem Beenden nicht mehr zum Cluster hinzugefügt werden kann. Die Dokumentation besagt nicht, dass ich join_cluster oder einen anderen Befehl nach dem Start verwenden muss. Ich habe versucht, join_cluster, aber es wird abgelehnt, da der Cluster mit Namen der gleiche wie der Knoten-Host ist. Gibt es eine Möglichkeit, dies zum Funktionieren zu bringen?Rabbitmq primärer Knoten, der einen Cluster wieder vereint

cluster_status zeigt die folgende (nicht vom primären Knoten):

Cluster status of node '[email protected]<secondary>' ... 
[{nodes,[{disc,['[email protected]<primary>','[email protected]<secondary>', 
       '[email protected]<tertiary>']}]}, 
{running_nodes,['[email protected]<secondary>','[email protected]<tertiary>']}, 
{cluster_name,<<"[email protected]<primary>">>}, 
{partitions,[]}] 

Antwort

0

Ein Zitat aus here

Knoten, die zu einem Cluster verbunden worden sind, können jederzeit gestoppt werden. Es ist auch in Ordnung für sie zu stürzen. In beiden Fällen wird der Rest des Clusters weiterhin unbeeinflusst betrieben, und die Knoten "holen" automatisch mit den anderen Clusterknoten nach, wenn sie erneut gestartet werden.

Sie müssen nur den Knoten starten, den Sie getötet/gestoppt haben. Es macht keinen Unterschied, ob es "primär" ist oder nicht - wenn es primär war und dann getötet wurde, wird ein anderer Knoten der primäre.

Ich habe gerade dies (mit Andockfenster natürlich) getestet und funktioniert wie erwartet.

+0

Does nicht wieder zusammenzubringen. Wie in der obigen Nachricht gezeigt. Der primäre Knoten wird nicht als ausgeführt angezeigt. – sharman

0

Auf einen der Knoten, die in dem Cluster sind, verwenden Sie den Befehl

rabbitmqctl forget_cluster_node [email protected] 

Um die aktuellen Cluster die alte primäre vergessen zu machen. Nun sollten Sie in der Lage sein, den Cluster auf dem alten primären (rabbitmq1)

rabbitmqctl stop_app 
rabbitmqctl join_cluster [email protected] 
rabbitmqctl start_app 

Siehe für mich die reference cluster guide

Verwandte Themen