2016-03-22 24 views
0

Ich lerne Erlang und Mnesia. Ich habe eine Frage: Wie kann ich einen "abgestürzten" Erlang-Mnesia-Knoten wieder zusammenführen?Wie kann man einen abgestürzten Erlang-Mnesia-Knoten erneut mit dem Cluster verbinden?

Erlang/OTP 17 [erts-6.2]

Was ich tat:

  1. Zwei Mnesia Knoten: m11 @ deb83-11 und m12 @ deb83-12. Sie wurden miteinander gut verbunden.

    ([email protected])4> mnesia:system_info(running_db_nodes). 
    ['[email protected]','[email protected]'] 
    
  2. Dann teminated ich die erl Schale von m12 @ deb83-12 durch "Strg-G" und "q" ohne Mnesia zu stoppen.

  3. Danach habe ich Erl Shell für M12 @ deb83-12 Knoten mit derselben Befehlszeile neu gestartet.

  4. Ich fand den neugestarteten Knoten m12 @ deb83-12 nicht mit m11 @ deb83-11 verbinden.

    ([email protected])16> mnesia:system_info(running_db_nodes). 
    ['[email protected]'] 
    

Hinweis 1. Wenn ich gestoppt Mnesia in Schritt # 2, m12 @ deb83-12 bis m11 @ deb83-11 erfolgreich nach dem Schritt # 3)

Hinweis wieder würde 2. Ich habe keine Tabelle erstellen In diesem Cluster gibt es nur ein leeres Schema.

Vielen Dank im Voraus!

Ming

+0

Anscheinend müssen Sie nur mit dem anderen Knoten verbinden (so dass 'nodes().' Den anderen Knoten zurückgibt) und mnesia mit 'mnesia: stop().' Und 'mnesia: start() neu starten. '. Nicht als Antwort setzend, habe ich es nicht selbst überprüft. – Amiramix

+0

Hallo Amiramix, Danke für Ihre Antwort. Es ist hilfreich. Ich habe versucht, net_adm: ping ('m12 @ deb83-12') von m11 @ deb83-11 auszugeben, um diese beiden Knoten zuerst zu verbinden, dann sind auch mnesia verbunden. Danke :) –

+0

np, ich bin froh, dass es funktioniert :) Ich werde es als Antwort dann für den Fall, dass jemand anderes das gleiche Problem haben wird. – Amiramix

Antwort

0

Scheinbar alles, was Sie tun müssen, ist auf den anderen Knoten zu verbinden (so dass nodes(). kehrt der andere Knoten) und starten Sie Mnesia mit mnesia:stop(). und mnesia:start()..