mariadb galera - Fehler, wenn ein Knoten Herunterfahren-FEHLER 1047 WSREP noch nicht bereit Knoten für die Anwendung verwenden
Habe ich installiert 2 Mariadb Galera-Knoten (mariadb-galera-10.0.27-linux-x86_64.tar.gz) auf 2 CentOs 6.6-Server.
Nach der Installation, ich fange an Knoten 1 mit dem parameter --wsrep-new-cluster
, dann starten Sie Knoten 2 ohne diesen parameter.
Sie funktionieren, werden die Daten erfolgreich synchronisiert zwischen 2 Knoten.
Aber, wenn ich Herunterfahren node1. Node2 läuft noch, aber wenn ich versuche, eine access-Datenbank. Es zeigt diese Fehlermeldung:
use testdb;
ERROR 1047 (08S01): WSREP has not yet prepared node for application use
Was passiert in diesem Fall?
Hier ist meine Konfiguration auf 2 KNOTEN (Nur andere IP-Adresse)
[galera]
wsrep_on=ON
wsrep_cluster_name='mysql-cluster'
wsrep_provider='/home/mariadb/mariadb-galera/lib/galera/libgalera_smm.so'
wsrep_provider_options="gcache.size=1G"
wsrep_cluster_address="gcomm://10.211.26.116:4567?
pc.wait_prim=no"
wsrep_sst_method=rsync
binlog_format=row
default_storage_engine=InnoDB
innodb_autoinc_lock_mode=2
bind-address=0.0.0.0
wsrep_node_address=10.211.26.117:4567
wsrep_node_name='db2'
InformationsquelleAutor namdt55555 | 2016-11-17
Du musst angemeldet sein, um einen Kommentar abzugeben.
ZWEI-KNOTEN-CLUSTER
In einem zwei Knoten cluster, eine single-node-Ausfall bewirkt, dass die anderen aufhören zu arbeiten.
Situation
Haben Sie ein cluster bestehend aus nur zwei Knoten. Einer der Knoten, die den cluster verlässt abrupt ab. Das heißt, statt dem Herunterfahren über init oder systemd, stürzt oder erleidet einen Verlust der Netzwerk-Konnektivität. Der Knoten bleibt, wird funktionsbereit ist bzw. sind. Es bleibt also bis auf einige zusätzliche Informationen von einer Dritten Partei, wie einem menschlichen Bediener oder einem anderen Knoten.
Wenn der Knoten blieb operationellen nach dem anderen verließ die cluster abrupt ab, dort wäre das Risiko, dass jeder der beiden Knoten wird denken, selbst als die Primäre Komponente. Um dies zu verhindern, werden die Knoten funktionsbereit ist bzw. wird.
Lösungen
Es gibt zwei Lösungen zur Verfügung:
Diese bootstraps der überlebende Knoten als neue Primäre Komponente. Wenn die anderen Knoten wieder online kommt oder gewinnt der Netzwerkverbindung mit diesem Knoten, es initiiert den Staat übertragen und sich mit diesem Knoten.
Den Knoten fortgesetzt Verarbeitung der updates und es wird dies auch weiterhin tun, selbst in dem Fall, dass Verdacht auf eine split-brain situation.
Hinweis: die Aktivierung von pc.ignore_sb ist gefährlich in einem multi-master-setup, aufgrund des oben genannten Risikos für split-brain-Situationen. Es werden jedoch die Dinge zu vereinfachen, die in master-slave-Clustern (vor allem in Fällen, in denen nur zwei Knoten).
Zusätzlich zu den Lösungen der oben genannten, können Sie vermeiden, die situation vollständig unter Verwendung Galera Schiedsrichter. Galera Schiedsrichter fungiert als eine sonderbare Knoten im Kollegium Berechnungen. Was bedeutet, dass, wenn Sie aktivieren Galera Schiedsrichter auf einem Knoten in einem cluster mit zwei Knoten, der Knoten bleibt die Primäre Komponente, auch wenn die anderen Knoten fehlschlägt oder die Netzwerkverbindung verliert.
http://galeracluster.com/documentation-webpages/twonode.html
SET GLOBAL wsrep_provider_options='pc.bootstrap=YES';
es erscheint:ERROR 1210 (HY000): Incorrect arguments to SET
Dank fein gearbeitet
InformationsquelleAutor scarface_90
Der wahrscheinlichste Grund ist, dass Ihre node1 ging abrupt ab, oder zumindest node2 dachte, es Tat. In diesem Fall 2-Knoten-cluster erreicht eine split-brain-situation, wo der restliche Teil(s) der cluster nicht entscheiden kann, ob Sie sich eigentlich die primäre Komponente. Das ist, warum 2-Knoten-Cluster nicht empfohlen.
Überprüfen Sie die Protokolle von node1, um zu sehen, wenn es heruntergefahren, und wenn es getan hat, dann meldet der Knoten 2, um zu sehen, wie er wahrgenommen, die situation. Wenn es sah node1 normal Herunterfahren, es würde etwas sagen wie
etc.; aber wenn Sie dachte, dass die anderen Knoten verloren gegangen ist, wäre es mehr wie
etc.
Sehen http://nirbhay.in/blog/2015/02/split-brain/ für mehr details und log Beispiele für das split-brain-situation.
Den günstigsten Weg es zu vermeiden ist die Verwendung von Galera Schiedsrichter: http://nirbhay.in/blog/2013/11/what-is-galera-arbitrator/
Technisch kann man, aber es wird nicht helfen. Wenn Sie dazu neigen Neustart der gesamten Maschine, der Schiedsrichter läuft es nach unten gehen, wie gut, und Sie haben die gleiche split-brain, statt nur von 1/1 (1 Knoten Links, 1 verloren), es wird 2/2. Wenn einer Ihrer hosts ein hohes Risiko für die Neustarts und das andere ist mehr stabil ist, sollten Sie erwägen Einstellung ein höheres Gewicht auf der stable
durch ausführen
SET GLOBAL wsrep_provider_options="pc.weight=3"
oder so ähnlich. In diesem Fall, wenn die "schwachen" Knoten ausfällt, desto stärker wird man wissen, dass es noch primäre. Wenn es so passiert, dass die starke ging nach unten, können Sie wieder zu beleben, die restlichen durch ausführenSET GLOBAL wsrep_provider_options='pc.bootstrap=true'
. Seien Sie vorsichtig über die Einstellung nicht beide Knoten bootstrap-obwohl, oder du wirst am Ende mit zwei getrennten Clustern.InformationsquelleAutor elenst