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

jQuery-Plugin zur Implementierung eines gestapelten Menüs

Jeden Tag ein jQuery-Plugin - gestapeltes Menü. Z...

Der einfachste Weg zum Debuggen gespeicherter Prozeduren in MySQL

Ein Kollege hat mir einmal gesagt, ich solle eine...

Organisieren Sie die allgemeinen Wissenspunkte von CocosCreator

Inhaltsverzeichnis 1. Szene laden 2. Knoten suche...

CSS Clear Float Clear:Both Beispielcode

Heute werde ich mit Ihnen über das Löschen von Fl...

Was sind die Dateiattribute von crw, brw, lrw usw. in Linux?

Was ist eine Datei? Eigentlich sind alle Dateien ...

Beispiel für die Konfiguration der domänenübergreifenden Fehlerbehebung in nginx

Die domänenübergreifende Nginx-Konfiguration wird...

Einige Schlussfolgerungen zur Gestaltung von Portal-Website-Fokusbildern

Fokusbilder sind eine Möglichkeit, Inhalte zu präs...