GNU/Linux >> LINUX-Kenntnisse >  >> Linux

So installieren und konfigurieren Sie den MariaDB Galera-Cluster unter Ubuntu 18.04

Beim Datenbank-Clustering werden mehrere Server kombiniert, indem sie mit einer einzigen Datenbank verbunden werden. Clustering verbessert die Verfügbarkeit Ihrer Datenbank, indem die Last auf verschiedene Server verteilt wird. Wenn ein Server ausfällt, sind andere schnell verfügbar, um den Dienst fortzusetzen.

MariaDB Galera ist eine Multi-Master-Clustering-Lösung, mit der Sie auf jedem Knoten im Cluster lesen und schreiben können. Mit MariaDB Galera wird eine an einem Knoten vorgenommene Änderung auf alle Knoten repliziert. MariaDB Galera unterstützt die XtraDB/InnoDB-Speicher-Engines und ist nur unter Linux verfügbar.

Funktionen

  • Aktiv-Aktiv-Multi-Master-Topologie
  • Automatischer Knotenbeitritt
  • Lese- und Schreibfähigkeit auf jedem Cluster-Knoten
  • Automatische Mitgliedschaftskontrolle, ausgefallene Knoten werden aus dem Cluster gelöscht
  • Automatische Knotenbereitstellung

In diesem Tutorial zeigen wir Ihnen, wie Sie einen MariaDB Galera-Cluster mit drei Knoten unter Ubuntu 18.04 einrichten.

Voraussetzungen

  • Drei neue Ubuntu 18.04 VPS auf der Atlantic.Net Cloud Platform.
  • Ein auf allen Servern konfiguriertes Root-Passwort.

Für dieses Tutorial verwenden wir drei Server mit der folgenden Konfiguration:

server1 :192.168.0.101
server2 :192.168.0.102
server3 :192.168.0.103

Schritt 1 – Erstellen Sie einen Atlantic.Net Cloud-Server

Melden Sie sich zunächst bei Ihrem Atlantic.Net Cloud Server an. Erstellen Sie einen neuen Server und wählen Sie Ubuntu 18.04 als Betriebssystem mit mindestens 2 GB RAM. Stellen Sie über SSH eine Verbindung zu Ihrem Cloud-Server her und melden Sie sich mit den oben auf der Seite hervorgehobenen Anmeldeinformationen an.

Sobald Sie sich bei Ihrem Ubuntu 18.04-Server angemeldet haben, führen Sie den folgenden Befehl aus, um Ihr Basissystem mit den neuesten verfügbaren Paketen zu aktualisieren.

apt-get update -y

Schritt 2 – MariaDB Server auf allen Servern installieren

Fügen Sie zuerst den MariaDB-Repository-Schlüssel mit dem folgenden Befehl hinzu:

apt-get install software-properties-common
apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xF1656F24C74CD1D8

Als nächstes fügen Sie das Repository mit dem folgenden Befehl hinzu:

add-apt-repository "deb [arch=amd64,arm64,ppc64el] http://mariadb.mirror.liquidtelecom.com/repo/10.4/ubuntu $(lsb_release -cs) main"

Sobald das Repository hinzugefügt wurde, aktualisieren Sie das Repository mit dem folgenden Befehl:

apt-get update -y

Installieren Sie schließlich den MariaDB-Server mit dem folgenden Befehl:

apt-get install mariadb-server -y

Ab Version 10.1 ist die Galera-Cluster-Funktion in MariaDB gebündelt. Das MariaDB Galera Server-Paket wird automatisch mit dem MariaDB-Server installiert.

Sie können es mit dem folgenden Befehl einrichten:

mysql_secure_installation

Beantworten Sie alle Fragen wie unten gezeigt:

Enter current password for root (enter for none): Provide your root user password
Switch to unix_socket authentication [Y/n] n
Change the root password? [Y/n] Y
New password:
Re-enter new password:
Remove anonymous users? [Y/n] Y
Disallow root login remotely? [Y/n] Y
Remove test database and access to it? [Y/n] Y
Reload privilege tables now? [Y/n] Y

Hinweis :Bitte wiederholen Sie die obigen Schritte auf allen drei Servern.

Schritt 3 – Konfigurieren Sie jeden Server im Cluster

Zu diesem Zeitpunkt haben wir den MariaDB-Server auf jedem Server installiert und konfiguriert. Als Nächstes müssen Sie den Galera-Cluster für die Kommunikation zwischen den Servern konfigurieren. Dazu müssen Sie auf jedem Server eine gemeinsame Konfigurationsdatei erstellen.

In diesem Abschnitt zeigen wir Ihnen, wie Sie jeden Server im Cluster konfigurieren.

Ersten Server konfigurieren

Melden Sie sich zunächst beim ersten Server an und erstellen Sie mit dem folgenden Befehl eine Galera-Konfigurationsdatei:

nano /etc/mysql/conf.d/galera.cnf

Fügen Sie die folgenden Zeilen hinzu (stellen Sie sicher, dass Sie Ihre eigenen Server-IP-Adressen eingeben):

[mysqld]
binlog_format=ROW
default-storage-engine=innodb
innodb_autoinc_lock_mode=2
bind-address=0.0.0.0

# Galera Provider Configuration
wsrep_on=ON
wsrep_provider=/usr/lib/galera/libgalera_smm.so

# Galera Cluster Configuration
wsrep_cluster_name="galera_cluster"
wsrep_cluster_address="gcomm://192.168.0.101,192.168.0.102,192.168.0.103"

# Galera Synchronization Configuration
wsrep_sst_method=rsync

# Galera Node Configuration
wsrep_node_address="192.168.0.101"
wsrep_node_name="server1"

Speichern und schließen Sie die Datei, wenn Sie fertig sind. Als nächstes können Sie mit dem zweiten Server fortfahren.

Zweiten Server konfigurieren

Melden Sie sich als Nächstes beim zweiten Server an und erstellen Sie mit dem folgenden Befehl eine Galera-Konfigurationsdatei:

nano /etc/mysql/conf.d/galera.cnf

Fügen Sie die folgenden Zeilen hinzu:

[mysqld]
binlog_format=ROW
default-storage-engine=innodb
innodb_autoinc_lock_mode=2
bind-address=0.0.0.0

# Galera Provider Configuration
wsrep_on=ON
wsrep_provider=/usr/lib/galera/libgalera_smm.so

# Galera Cluster Configuration
wsrep_cluster_name="galera_cluster"
wsrep_cluster_address="gcomm://192.168.0.101,192.168.0.102,192.168.0.103"

# Galera Synchronization Configuration
wsrep_sst_method=rsync

# Galera Node Configuration
wsrep_node_address="192.168.0.102"
wsrep_node_name="server2"

Speichern und schließen Sie die Datei, wenn Sie fertig sind. Als nächstes können Sie mit dem dritten Server fortfahren.

Dritten Server konfigurieren

Melden Sie sich als Nächstes beim dritten Server an und erstellen Sie mit dem folgenden Befehl eine Galera-Konfigurationsdatei:

nano /etc/mysql/conf.d/galera.cnf

Fügen Sie die folgenden Zeilen hinzu:

[mysqld]
binlog_format=ROW
default-storage-engine=innodb
innodb_autoinc_lock_mode=2
bind-address=0.0.0.0

# Galera Provider Configuration
wsrep_on=ON
wsrep_provider=/usr/lib/galera/libgalera_smm.so

# Galera Cluster Configuration
wsrep_cluster_name="galera_cluster"
wsrep_cluster_address="gcomm://192.168.0.101,192.168.0.102,192.168.0.103"

# Galera Synchronization Configuration
wsrep_sst_method=rsync

# Galera Node Configuration
wsrep_node_address="192.168.0.103"
wsrep_node_name="server3"

Speichern und schließen Sie die Datei, wenn Sie fertig sind.

An diesem Punkt haben wir alle drei Server so konfiguriert, dass sie miteinander kommunizieren.

Schritt 4 – Galera-Cluster initialisieren

Bevor Sie den Cluster starten, müssen Sie den MariaDB-Dienst auf allen Servern stoppen.

Führen Sie den folgenden Befehl aus, um den MariaDB-Dienst auf allen Servern zu stoppen.

systemctl stop mariadb

Initialisieren Sie als Nächstes den Cluster im ersten Knoten mit dem folgenden Befehl:

galera_new_cluster

Der obige Befehl startet den Cluster und fügt server1 zum Cluster hinzu.

Sie können dies mit dem folgenden Befehl überprüfen:

mysql -u root -p -e "SHOW STATUS LIKE 'wsrep_cluster_size'"
Enter password:

Geben Sie Ihr Root-Passwort ein und drücken Sie die Eingabetaste. Sie sollten die folgende Ausgabe sehen:

+--------------------+-------+
| Variable_name      | Value |
+--------------------+-------+
| wsrep_cluster_size | 1     |
+--------------------+-------+

Gehen Sie als Nächstes zum zweiten Server und starten Sie den MariaDB-Dienst:

systemctl start mariadb

Überprüfen Sie als Nächstes Ihre Clustergröße mit dem folgenden Befehl:

mysql -u root -p -e "SHOW STATUS LIKE 'wsrep_cluster_size'"
Enter password:

Geben Sie Ihr Root-Passwort ein und drücken Sie die Eingabetaste. Sie sollten sehen, dass der zweite Server dem Cluster beigetreten ist.

+--------------------+-------+
| Variable_name      | Value |
+--------------------+-------+
| wsrep_cluster_size | 2     |
+--------------------+-------+

Gehen Sie als Nächstes zum dritten Server und starten Sie den MariaDB-Dienst:

systemctl start mariadb

Überprüfen Sie als Nächstes Ihre Clustergröße mit dem folgenden Befehl:

mysql -u root -p -e "SHOW STATUS LIKE 'wsrep_cluster_size'"
Enter password:

Geben Sie Ihr Root-Passwort ein und drücken Sie die Eingabetaste. Sie sollten sehen, dass der dritte Server dem Cluster beigetreten ist.

+--------------------+-------+
| Variable_name      | Value |
+--------------------+-------+
| wsrep_cluster_size | 3     |
+--------------------+-------+

Schritt 5 – Galera-Cluster-Replikation testen

Ihr Galera-Cluster ist jetzt betriebsbereit. Es ist an der Zeit zu testen und zu sehen, ob die Replikation funktioniert.

Erstellen Sie dazu eine Datenbank auf dem ersten Server und prüfen Sie, ob sie auf andere Server repliziert wurde.

Melden Sie sich auf server1 mit dem folgenden Befehl bei der MySQL-Shell an:

mysql -u root -p

Geben Sie Ihr Root-Passwort ein, wenn Sie dazu aufgefordert werden, und erstellen Sie dann eine Datenbank mit dem folgenden Befehl:

create database replicadb;
create database mydb;

Als nächstes verlassen Sie die MySQL-Shell mit dem folgenden Befehl:

exit;

Melden Sie sich auf server2 mit dem folgenden Befehl bei der MySQL-Shell an:

mysql -u root -p

Geben Sie Ihr Root-Passwort ein, wenn Sie dazu aufgefordert werden, und prüfen Sie, ob die Datenbank existiert.

show databases;

Sie sollten die folgende Ausgabe erhalten:

+--------------------+
| Database           |
+--------------------+
| information_schema |
| mydb               |
| mysql              |
| performance_schema |
| replicadb          |
+--------------------+

Melden Sie sich auf server3 mit dem folgenden Befehl bei der MySQL-Shell an:

mysql -u root -p

Geben Sie Ihr Root-Passwort ein, wenn Sie dazu aufgefordert werden, und prüfen Sie, ob die Datenbank existiert.

show databases;

Sie sollten die folgende Ausgabe erhalten:

+--------------------+
| Database           |
+--------------------+
| information_schema |
| mydb               |
| mysql              |
| performance_schema |
| replicadb          |
+--------------------+

Die obige Ausgabe zeigt deutlich, dass die Replikation ordnungsgemäß funktioniert.

Schlussfolgerung

Herzliche Glückwünsche! Sie haben erfolgreich einen MariaDB Galera-Cluster mit drei Knoten auf Ubuntu 18.04 VPS installiert und konfiguriert. Sie sollten jetzt über ausreichende Kenntnisse verfügen, um einen MariaDB Galera-Cluster in einer Produktionsumgebung einzurichten. Weitere Informationen finden Sie in der MariaDB Galera-Dokumentation.


Linux
  1. So installieren Sie den MariaDB Galera-Cluster unter Ubuntu 16.04

  2. So installieren und konfigurieren Sie den DHCP-Server unter Ubuntu 20.04

  3. So installieren und konfigurieren Sie den Redis-Server in Ubuntu

  4. So installieren und konfigurieren Sie Mariadb 10 in Ubuntu 20.04

  5. So installieren und konfigurieren Sie strongSwan VPN unter Ubuntu 18.04

So installieren und konfigurieren Sie LAMP Server unter Ubuntu

So installieren und konfigurieren Sie den OpenLDAP-Server unter Ubuntu 16.04

So installieren und konfigurieren Sie VNC auf Ubuntu Server 20.04

So installieren und konfigurieren Sie Parse Server unter Ubuntu 20.04

So installieren und konfigurieren Sie einen TeamSpeak Server auf Ubuntu 18.04

So installieren und konfigurieren Sie einen Minecraft-Server unter Ubuntu 18.04