Detaillierte Erläuterung der Galera-Cluster-Bereitstellung im Clustermodus von MySQL

Detaillierte Erläuterung der Galera-Cluster-Bereitstellung im Clustermodus von MySQL

1: Einführung in Galera-Cluster

Galera Cluster ist eine kostenlose, Open-Source-Hochverfügbarkeitslösung, die von Codership entwickelt wurde. Die offizielle Website lautet http://galeracluster.com. Galera Cluster ist ein Mariadb-Cluster mit installiertem Galera (dieser Artikel stellt nur den Mariadb Garela-Cluster vor). Es verfügt über eine Multi-Master-Funktion und unterstützt Mehrpunktschreiben. Die drei (oder mehr) Knoten des Galera-Clusters stehen in einer Peer-Beziehung. Jeder Knoten unterstützt das Schreiben. Die Konsistenz und Integrität der geschriebenen Daten ist innerhalb des Clusters gewährleistet. Das spezifische Implementierungsprinzip wird in diesem Artikel kurz vorgestellt.

Die offiziellen Funktionen sind wie folgt:

  • Echter Multi-Master-Cluster, Active-Active-Architektur;
  • Synchrone Replikation, keine Replikationsverzögerung;
  • Multithread-Replikation;
  • Es gibt keinen Master-Slave-Umschaltvorgang und keine Notwendigkeit, eine virtuelle IP zu verwenden.
  • Hot Backup: Der Ausfall eines einzelnen Knotens hat keine Auswirkungen auf die Datenbankdienste.
  • Unterstützt automatisches Knotenverknüpfen, Daten müssen nicht manuell kopiert werden;
  • Unterstützt die InnoDB-Speicher-Engine;
  • Transparent für Anwendungen, native MySQL-Schnittstelle;
  • Keine Trennung von Lesen und Schreiben nötig;
  • Einfach bereitzustellen und zu verwenden.

2. Wie Galera-Cluster funktioniert

Das Hauptanliegen besteht in der Datenkonsistenz. Transaktionen können auf alle Knoten angewendet werden oder nicht auf alle. Solange sie richtig konfiguriert sind, bleiben die Datenbanken synchron.
Das Galera-Replikations-Plugin unterscheidet sich von der herkömmlichen MySQL-Replikation und kann mehrere Probleme lösen, darunter Multi-Master-Schreibkonflikte, Replikationsverzögerungen und Master-Slave-Asynchronität.

3: Bereitstellung des Galera-Clusters von MariaDB

3.1: Einführung in die Systemsoftwareumgebung

System: CentOS7.5x64

192.168.20.33 jiankong01.yl.com
192.168.20.34 jiankong02.yl.com
192.168.20.35 jiankong03.yl.com

Software: mariadb-galera-cluster.zip

3.2: Konfigurieren des Zeitsynchronisierungsservers

Der Flyfish-Host wurde mit dem Chronyd-Zeitserver konfiguriert

Der Zeitserver ist: 192.168.20.3

Wenn Sie nicht wissen, wie das geht, können Sie zur Installation des Big Data-Clusters CDH auf die Konfiguration des Zeitservers von Flyfish zurückgreifen.

Hinweise zur Installation und Konfiguration werden hier nicht mehr beschrieben.

3.3 MariaDB-Galear-Cluster installieren

Alle Clusterknoten führen Folgendes aus:

yum entfernen -y MariaDB-Libs 

yum install -y unzip boost-devel lsof perl-DBI perl-Data-Dumper

U/min -ivh U/min -ivh MariaDB-10.0.37-centos73-x86_64-* 

rpm -ivh MariaDB-Galera-10.0.37-centos73-x86_64-*

3.4 Knotenkonfigurationsdatei

Knoten 1: jiankong01.yl.com

cd /etc/my.cnf.d

vim server.conf
----
[mysqld]

#
# * Galera-bezogene Einstellungen
#
[Galerie]
# Obligatorische Einstellungen
wsrep_provider= /usr/lib64/galera/libgalera_smm.so
wsrep_cluster_address="gcomm://192.168.20.33,192.168.20.34,192.168.20.35"
wsrep_cluster_name = "meinCluster"
wsrep_node_name = "jiankong01.yl.com"
wsrep_node-Adresse = '192.168.20.33'
binlog_format=Zeile
default_storage_engine=InnoDB
innodb_autoinc_lock_mode=2
Bindeadresse = 0.0.0.0
#
# Optionale Einstellung
#wsrep_slave_threads=1
----
Knoten 2: jiankong02.yl.com

cd /etc/my.cnf.d/

vim server.conf

----
[mysqld]

#
# * Galera-bezogene Einstellungen
#
[Galerie]
# Obligatorische Einstellungen
wsrep_provider= /usr/lib64/galera/libgalera_smm.so
wsrep_cluster_address="gcomm://192.168.20.33,192.168.20.34,192.168.20.35"
wsrep_cluster_name = "meinCluster"
wsrep_node_name = "jiankong02.yl.com"
wsrep_node-Adresse = '192.168.20.34'
binlog_format=Zeile
default_storage_engine=InnoDB
innodb_autoinc_lock_mode=2
Bindeadresse = 0.0.0.0
#
# Optionale Einstellung
#wsrep_slave_threads=1
#innodb_flush_log_at_trx_commit=0
---
Knoten 3: jiankong03.yl.com

cd /etc/my.cnf.d/
vim server.conf
----
[mysqld]

#
# * Galera-bezogene Einstellungen
#
[Galerie]
# Obligatorische Einstellungen
wsrep_provider= /usr/lib64/galera/libgalera_smm.so
wsrep_cluster_address="gcomm://192.168.20.33,192.168.20.34,192.168.20.35"
wsrep_cluster_name = "meinCluster"
wsrep_node_name = "jiankong03.yl.com"
wsrep_node-Adresse = '192.168.20.35'
binlog_format=Zeile
default_storage_engine=InnoDB
innodb_autoinc_lock_mode=2
Bindeadresse = 0.0.0.0
#
# Optionale Einstellung
#wsrep_slave_threads=1
#innodb_flush_log_at_trx_commit=0
----

3.4 Starten Sie den Cluster

Auf jedem Knoten im Cluster ausführen

Dienst MySQL Start --wsrep-new-cluster

Hier nehmen wir Knoten 3 als Beispiel:

Knoten 1 und Knoten 2 führen aus:

Dienst MySQL starten 

3.5: Erstellen einer Datenbankinstanz

Knoten 1:

mysql -uroot -pQingchun123.com

Datenbank nCalInfo erstellen

Überprüfen Sie die Knoten 2 und 3

mysql -uroot -pQingchun123.com

Datenbanken anzeigen 

Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, er wird für jedermanns Studium hilfreich sein. Ich hoffe auch, dass jeder 123WORDPRESS.COM unterstützen wird.

Das könnte Sie auch interessieren:
  • So erstellen Sie einen MySQL PXC-Cluster
  • Bereitstellung eines MySQL-Hochverfügbarkeitsclusters und Implementierung eines Failovers
  • MySQL 5.7-Clusterkonfigurationsschritte
  • Implementierung der Docker-Bereitstellung eines MySQL-Clusters
  • Detaillierte Schritte zur Installation von MySQL mit Cluster-RPM
  • Detaillierte Erläuterung des MySQL-Clusters: Implementierung einer Master- und einer Slave-Architektur
  • So stellen Sie MySQL 5.7- und 8.0-Master-Slave-Cluster mit Docker bereit
  • Beispiel zum Erstellen eines MySQL-Clusters mit Docker
  • Tutorial zur grundlegenden Bereitstellung von MySQL Cluster
  • So erstellen Sie einen MySQL-Cluster mit hoher Verfügbarkeit und Leistung

<<:  Eine kurze Analyse der grundlegenden Implementierung von Vue-Erkennungsdatenänderungen

>>:  Grafisches Tutorial zur Installation einer virtuellen VMware-Maschine unter Linux

Artikel empfehlen

Für die Verwendung des Docker-Befehls ist kein Sudo erforderlich

Da der Docker-Daemon an den Unix-Socket des Hosts...

So legen Sie einen gepunkteten Rahmen in HTML fest

Verwenden Sie CSS-Stile und HTML-Tag-Elemente Um ...

CentOS8 - bash: verstümmelte Zeichen und Lösungen

Diese Situation tritt normalerweise auf, weil das...

Funktionsweise von SQL-SELECT-Datenbankabfragen

Obwohl wir keine professionellen DBAs sind, könne...

Klassischer Beispielcode für JavaScript-Funktionsaufrufe

Inhaltsverzeichnis Klassisches Beispiel für einen...

So führen Sie Linux-Befehle im Hintergrund aus

Wenn Sie einen Befehl im Terminal ausführen, müss...

MySQL-Trigger: Erstellen und Verwenden von Triggern

Dieser Artikel beschreibt anhand von Beispielen d...

Zehn Erfahrungen bei der Präsentation chinesischer Webinhalte

<br /> Ich habe mich auf die drei Aspekte Te...

MySQL-Datenbankoptimierung: Indeximplementierungsprinzip und Nutzungsanalyse

Dieser Artikel veranschaulicht anhand von Beispie...

Fügen Sie Linux eine Startmethode hinzu (Dienst/Skript)

Konfigurationsdatei, die beim Systemstart geladen...