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

So richten Sie den MariaDB Galera-Cluster unter Ubuntu 20.04 ein

Lastausgleich und Clustering sind in einer Produktionsumgebung sehr wichtig, um eine hohe Verfügbarkeit für Ihr Datenbanksystem zu erreichen. MariaDB Galera Cluster bietet eine Multi-Master-Clustering-Lösung und unterstützt XtraDB/InnoDB-Speicher-Engines. Ein Multi-Master-Cluster ermöglicht Lese- und Schreibzugriff auf jeden Cluster-Knoten. Wenn Sie Daten auf einem Knoten ändern, werden sie auf alle anderen Knoten repliziert. Der Galera-Cluster unterstützt auch Cloud- und WAN-Umgebungen, um einen verteilten Cluster über Länder und Kontinente hinweg aufzubauen.

In diesem Beitrag zeigen wir, wie Sie einen MariaDB Galera-Cluster mit drei Knoten auf einem Ubuntu 20.04-Server einrichten.

Voraussetzungen

  • Drei Server mit Ubuntu 20.04.
  • Auf dem Server ist ein Root-Passwort konfiguriert.

Erste Schritte

Bevor Sie beginnen, müssen Sie Ihre Systempakete auf die neueste Version aktualisieren. Sie können sie mit dem folgenden Befehl aktualisieren:

apt-get update -y

Sobald Ihr Server aktualisiert ist, können Sie mit dem nächsten Schritt fortfahren.

MariaDB-Server installieren

Zuerst müssen Sie den MariaDB-Server auf allen Knoten installieren. Sie können es installieren, indem Sie den folgenden Befehl ausführen:

apt-get install mariadb-server -y

Starten Sie nach Abschluss der Installation den MariaDB-Dienst und ermöglichen Sie ihm, beim Systemneustart zu starten:

systemctl start mariadb
systemctl status mariadb

Als Nächstes müssen Sie die MariaDB-Installation sichern und auf jedem Knoten ein MariaDB-Root-Passwort festlegen. Sie können dies mit dem folgenden Befehl tun:

mysql_secure_installation

Sie werden aufgefordert, ein MariaDB-Root-Passwort festzulegen, wie unten gezeigt:

Enter current password for root (enter for none): 
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

Sobald Ihr MariaDB-Server gesichert ist, können Sie mit dem nächsten Schritt fortfahren.

Galera-Cluster konfigurieren

Als Nächstes müssen Sie auf jedem Knoten eine Galera-Konfigurationsdatei erstellen, damit alle Knoten miteinander kommunizieren können.

Erstellen Sie auf dem ersten Knoten eine galera.cnf-Datei mit dem folgenden Befehl:

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://node1-ip-address,node2-ip-address,node3-ip-address"

# Galera Synchronization Configuration
wsrep_sst_method=rsync

# Galera Node Configuration
wsrep_node_address="node1-ip-address"
wsrep_node_name="node1"

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

Erstellen Sie auf dem zweiten Knoten eine galera.cnf-Datei mit dem folgenden Befehl:

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://node1-ip-address,node2-ip-address,node3-ip-address"

# Galera Synchronization Configuration
wsrep_sst_method=rsync

# Galera Node Configuration
wsrep_node_address="node2-ip-address"
wsrep_node_name="node2"

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

Erstellen Sie auf dem dritten Knoten eine galera.cnf-Datei mit dem folgenden Befehl:

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://node1-ip-address,node2-ip-address,node3-ip-address"

# Galera Synchronization Configuration
wsrep_sst_method=rsync

# Galera Node Configuration
wsrep_node_address="node3-ip-address"
wsrep_node_name="node3"

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

Initialisieren Sie den Galera-Cluster

An diesem Punkt sind alle Knoten so konfiguriert, dass sie miteinander kommunizieren.

Als nächstes müssen Sie den MariaDB-Dienst auf allen Knoten stoppen. Sie können den folgenden Befehl ausführen, um den MariaDB-Dienst zu stoppen:

systemctl stop mariadb

Initialisieren Sie auf dem ersten Knoten den MariaDB Galera-Cluster mit dem folgenden Befehl:

galera_new_cluster

Überprüfen Sie nun den Status des Clusters mit dem folgenden Befehl:

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

Sie sollten die folgende Ausgabe sehen:

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

Starten Sie auf dem zweiten Knoten den MariaDB-Dienst mit dem folgenden Befehl:

systemctl start mariadb

Überprüfen Sie als Nächstes den Status des MariaDB Galera-Clusters mit dem folgenden Befehl:

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

Sie sollten die folgende Ausgabe sehen:

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

Starten Sie auf dem dritten Knoten den MariaDB-Dienst mit dem folgenden Befehl:

systemctl start mariadb

Überprüfen Sie als Nächstes den Status des MariaDB Galera-Clusters mit dem folgenden Befehl:

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

Sie sollten die folgende Ausgabe sehen:

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

An diesem Punkt wird der MariaDB Galera-Cluster initialisiert. Sie können jetzt mit dem nächsten Schritt fortfahren.

Cluster-Replikation überprüfen

Als Nächstes müssen Sie überprüfen, ob die Replikation funktioniert oder nicht.

Verbinden Sie sich auf dem ersten Knoten mit dem folgenden Befehl mit der MariaDB:

mysql -u root -p

Sobald Sie verbunden sind, erstellen Sie eine Datenbank mit dem folgenden Befehl:

MariaDB [(none)]> create database db1;
MariaDB [(none)]> create database db2;

Als nächstes verlassen Sie die MariaDB mit dem folgenden Befehl:

MariaDB [(none)]> exit;

Gehen Sie als Nächstes zum zweiten Knoten und melden Sie sich mit dem folgenden Befehl bei der MariaDB an:

mysql -u root -p

Führen Sie als Nächstes den folgenden Befehl aus, um alle Datenbanken anzuzeigen:

MariaDB [(none)]> show databases;

Sie sollten sehen, dass beide Datenbanken, die wir auf dem ersten Knoten erstellt haben, auf dem zweiten Knoten repliziert werden:

+--------------------+
| Database           |
+--------------------+
| db1                |
| db2                |
| information_schema |
| mysql              |
| performance_schema |
+--------------------+
5 rows in set (0.001 sec)

Gehen Sie als nächstes zum dritten Knoten und melden Sie sich mit dem folgenden Befehl bei der MariaDB an:

mysql -u root -p

Führen Sie als Nächstes den folgenden Befehl aus, um alle Datenbanken anzuzeigen:

MariaDB [(none)]> show databases;

Sie sollten sehen, dass beide Datenbanken, die wir auf dem ersten Knoten erstellt haben, auf dem dritten Knoten repliziert werden:

+--------------------+
| Database           |
+--------------------+
| db1                |
| db2                |
| information_schema |
| mysql              |
| performance_schema |
+--------------------+
5 rows in set (0.001 sec)

Schlussfolgerung

In der obigen Anleitung haben wir gelernt, wie man einen MariaDB Galera-Cluster mit drei Knoten auf einem Ubuntu 20.04-Server einrichtet. Sie können jetzt ganz einfach weitere Knoten zum MariaDB Galera-Cluster hinzufügen. Fühlen Sie sich frei, mich zu fragen, wenn Sie irgendwelche Fragen haben.


Ubuntu
  1. So installieren Sie MariaDB 10.4 auf Ubuntu 18.04

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

  3. So richten Sie HAProxy in Ubuntu 16.04 ein

  4. So richten Sie die UFW-Firewall unter Ubuntu 18.04 ein

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

So richten Sie die CouchDB-Replikation unter Ubuntu 16.04 ein

So richten Sie MariaDB Galera Cluster mit HAproxy unter CentOS 7 ein

So installieren Sie MariaDB unter Ubuntu 18.04 / Ubuntu 16.04

So richten Sie OpenVPN auf Ubuntu Server ein

So installieren Sie MariaDB auf Ubuntu 20.04 LTS

So installieren Sie MariaDB unter Ubuntu 16.04