So installieren Sie Percona XtraDB Cluster auf CentOS 7

In diesem Tutorial zeige ich Ihnen, wie Sie Percona XtraDB Cluster auf einem CentOS 7-Server installieren und konfigurieren. Wir werden Percona XtraDB Cluster 5.6 verwenden, das vollständig kompatibel zu MySQL und dem Percona Server ist.

Percona ist ein 2006 gegründetes Unternehmen aus MySQL- und MongoDB-Datenbankexperten. Percona entwickelt und wartet Open-Source-Software für MySQL und MongoDB: den Percona Server (Datenbankserver für MySQL mit hochverfügbaren Leistungssteigerungen), Percona XtraDB Cluster (Hochverfügbarkeitslösung für MySQL-Cluster), Percona Server für MongoDB und andere Tools zur Verwaltung der Datenbanken wie das Percona-Toolkit, Percona-Monitoring-Tools und Percona XtraBackup.

Voraussetzung

  • 3 CentOS 7 Serverknoten.
  • Root-Privilegien.
  • Grundlegende CentOS 7 Kenntnisse.

Schritt 1 – Einrichten der Hosts-Datei

Als erstes müssen Sie die Hostnamen aller Server konfigurieren. Ich habe 3 Server mit CentOS 7, wie unten aufgeführt:

Node           Server IP       Hostname

Node1   –   192.168.43.36     percona1
Node2   –   192.168.43.166    percona2
Node3   –   192.168.43.148    percona3

Verbinden Sie sich mit allen Servern über Ihr Terminal:

ssh root@serverip

Wenn Sie sich bei allen Servern angemeldet haben, bearbeiten Sie die Datei ‚/etc/hosts‘ auf jedem Server mit vim:

vim /etc/hosts

Fügen Sie die untenstehende Host-Konfiguration ein:

192.168.43.36   percona1
192.168.43.166  percona2
192.168.43.148  percona3

Ersetzen Sie die IP-Adressen durch die, die Ihrer lokalen Netzwerkkonfiguration entsprechen. Speichern und beenden.

Konfigurieren Sie die Hosts-Datei.

Schritt 2 – Firewalldaten konfigurieren

Firewalld ist die neue Standard-Firewall-Schnittstelle auf CentOS 7. Der Befehl firewall-cmd wird verwendet, um die Firewall zu konfigurieren. Wir können bestimmte Gruppen oder Zonen definieren und konfigurieren, oder wir können eine Firewall für Dienste wie ssh, MySQL-Datenbanken, nginx/apache Webserver usw. konfigurieren.

In diesem Schritt verwenden wir die Firewall für die Firewall-Konfiguration. Wir werden den Befehl‘firewall-cmd‘ verwenden, um den Percona-Serverport und andere Ports zu öffnen, die für den Cluster benötigt werden.

Starten Sie die Firewall mit diesem systemctl-Kommando:

systemctl start firewalld

Führen Sie dann den folgenden Befehl aus, um den vom MySQL/percona-Server verwendeten Port zu öffnen:

firewall-cmd --zone=public --add-service=mysql --permanent

Als nächstes fügen Sie die anderen Ports für den Cluster mit dem folgenden Befehl hinzu:

firewall-cmd --zone=public --add-port=3306/tcp --permanent
firewall-cmd --zone=public --add-port=4567/tcp --permanent
firewall-cmd --zone=public --add-port=4568/tcp --permanent
firewall-cmd --zone=public --add-port=4444/tcp --permanent
firewall-cmd --zone=public --add-port=4567/udp --permanent

Laden Sie die Firewall-Regeln neu:

firewall-cmd --reload

Um die Liste aller Firewall-Regeln anzuzeigen, verwenden Sie die Option‘–list-all‘:

firewall-cm --list-all

Konfigurieren der Firewall

Schritt 3 – Installation des Epel Repository und von Socat

Damit Percona XtraDB Cluster auf dem Server läuft, müssen wir socat installieren, und es ist im epel-Repository verfügbar. Daher müssen wir zuerst das Epel-Repository installieren und dann socat. Weiterhin müssen wir die mariadb-libs vom Server entfernen, da sie mit dem Percona XtraDB Cluster in Konflikt stehen.

Installieren Sie epel-repository und socat:

yum -y install epel-release
yum -y install socat

Entfernen Sie die mariadb-libs, um den Paketkonflikt zwischen mariadb-libs und Percona XtraDB Cluster zu vermeiden:

yum -y remove mariadb-libs

Das Epel-Repository und socat sind installiert.

Schritt 4 – Percona XtraDB Cluster installieren

In diesem Schritt werden wir den Percona xtradb Cluster mit allen Paketabhängigkeiten installieren. Wir müssen das Percona-Repository für die Installation hinzufügen und dann den Percona-Server starten und den Root-Benutzer und das Passwort für den Datenbankserver konfigurieren.

Installieren Sie das Percona-Repository mit yum:

yum -y install http://www.percona.com/downloads/percona-release/redhat/0.1-3/percona-release-0.1-3.noarch.rpm

Installieren Sie nun den Percona XtraDB-Cluster und die anderen für dieses Tutorial benötigten Pakete:

yum install Percona-XtraDB-Cluster-server-56 Percona-XtraDB-Cluster-client-56 Percona-XtraDB-Cluster-shared-56 percona-toolkit percona-xtrabackup Percona-XtraDB-Cluster-galera-3 rsync nc

Percona XtraDB Cluster ist installiert, starten Sie den Percona-Server mit dem Befehl zhis systemctl:

systemctl start mysql

Als nächstes konfigurieren Sie das Root-Passwort für alle percona/mysql-Server:

mysql_secure_installation

Setzt das Passwort für percona/mysql:

Enter current password for root (enter for none): PRESS ENTER
Set root password? [Y/n] Y
New password: TYPE YOUR PASSWORD
Re-enter new password: REPEAT PASSWORD
Remove anonymous users? [Y/n] Y
Disallow root login remotely? [Y/n] Y
Reload privilege tables now? [Y/n] Y

Hinweis:

Führen Sie die Schritte 1 – 4 auf allen 3 CentOS-Servern aus.

Schritt 5 – Percona XtraDB Cluster konfigurieren

In Schritt 4 haben wir bereits Percona XtraDB Cluster installiert und das Root-Passwort für alle Percona/Mysql-Serverknoten konfiguriert. In diesem Schritt erstellen wir einen neuen Benutzer für die SST-Authentifizierung und bearbeiten die MySQL-Konfiguration my.cnf auf jedem Server.

SST (State Snapshot Transfer) ist eine vollständige Datenkopie von einem Server als Spender auf einen anderen Server als Joiner. Für die SST-Authentifizierung müssen wir einen neuen Benutzer namens‘sstuser‘ mit dem Passwort‘sstuser@‘ anlegen. Und für die SST-Methode verwenden wir xtrabackup-v2 anstelle von rsync. Bitte verwenden Sie für Ihren Cluster ein anderes und sicheres Passwort!

Melden Sie sich auf jedem Server in der Percona/Mysql-Shell an:

mysql -u root -p
TYPE YOUR PASSWORD

Und erstelle den neuen‘sstuser‘ mit dem Passwort‘sstuser@‘:

create user sstuser@'%' identified by 'mypass@';
grant all on *.* to sstuser@'%';
flush privileges;

Erstellen Sie den SST-Benutzer

Stoppen Sie dann den MySQL-Dienst auf jedem Server, bevor Sie die Konfigurationsdatei bearbeiten:

systemctl stop mysql

Bearbeiten Sie anschließend die mysql-Konfigurationsdatei my.cnf auf jedem Server mit dem vim-Editor.

Auf dem Percona1-Server:

vim /etc/my.cnf

Ändere alle‘wsrep‘ Zeilen mit der Konfiguration unten:

wsrep_cluster_address          = gcomm://
wsrep_provider                 = /usr/lib64/galera3/libgalera_smm.so
wsrep_slave_threads            = 8
wsrep_cluster_name             = Cluster Percona XtraDB
wsrep_node_name                = percona1

wsrep_node_address             = percona1
wsrep_sst_method               = xtrabackup-v2
wsrep_sst_auth                 = sstuser:mypass@

Speichern und beenden.

Auf Percona2-Server:

vim /etc/my.cnf

Ändere alle‘wsrep‘ Zeilen mit der Konfiguration unten:

wsrep_cluster_address          = gcomm://percona1,percona3
wsrep_provider                 = /usr/lib64/galera3/libgalera_smm.so
wsrep_slave_threads            = 8
wsrep_cluster_name             = Cluster Percona XtraDB
wsrep_node_name                = percona2

wsrep_node_address             = percona2
wsrep_sst_method               = xtrabackup-v2
wsrep_sst_auth                 = sstuser:mypass@

Speichern und beenden.

Auf Percona3-Server:

vim /etc/my.cnf

Ändere alle‘wsrep‘ Zeilen mit der Konfiguration unten:

wsrep_cluster_address          = gcomm://percona1,percona2
wsrep_provider                 = /usr/lib64/galera3/libgalera_smm.so
wsrep_slave_threads            = 8
wsrep_cluster_name             = Cluster Percona XtraDB
wsrep_node_name                = percona3

wsrep_node_address             = percona3
wsrep_sst_method               = xtrabackup-v2
wsrep_sst_auth                 = sstuser:mypass@

Speichern und beenden.

Screenshot vom percona2-Server.

Percona Server Konfiguration.

Schritt 6 – Starten Sie den Percona XtraDB Cluster Server.

Wir haben Percona XtraDB Cluster auf allen Servern konfiguriert, und jetzt können wir den Server starten.

Auf Percona1-Server, Bootstraping oder das Einrichten des Clusters:

systemctl start mysql@bootstrap

Als nächstes starten Sie den Percona/MySQL-Server auf percona2- und percona3-Server mit dem folgenden Befehl:

systemctl start mysql

Stellen Sie sicher, dass es keine Fehlermeldungen gibt. Wenn nach der Eingabe ein Fehler beim Start von MySQL auftritt, überprüfen Sie die Protokolldatei ‚/var/log/messages‚.

Schritt 7 – Prüfung

Wir müssen uns auf jedem Server in der Percona/mysql-Shell anmelden, um den Percona XtraDB-Cluster zu testen.

Melden Sie sich auf allen Servern/Knoten in der Percona/MySQL-Shell an:

mysql -u root -p
TYPE YOUR PASSWORD

Testen der Hochverfügbarkeit mit dem Befehl mysql:

SHOW STATUS LIKE 'wsrep_local_state_comment';

Probieren Sie diesen Befehl auf jedem Knoten aus, wenn Sie als Ergebnis „Synchronisiert“ sehen, dann ist dieser Knoten bereit für den Datenverkehr.

Testen der verfügbaren Knoten des Clusters:

show global status like 'wsrep_cluster_size';

Sie erhalten die aktuelle Anzahl der Knoten im Percona-Cluster.

Percona-Server synchronisiert.

Für die vollständigen Ergebnisse können Sie den folgenden Befehl verwenden:

show global status like 'wsrep%';

Referenz

Das könnte Dich auch interessieren …