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 [email protected]
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.
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
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‘[email protected]‘ 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‘[email protected]‘:
create user [email protected]'%' identified by '[email protected]'; grant all on *.* to [email protected]'%'; flush privileges;
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:[email protected]
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:[email protected]
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:[email protected]
Speichern und beenden.
Screenshot vom percona2-Server.
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 [email protected]
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.
Für die vollständigen Ergebnisse können Sie den folgenden Befehl verwenden:
show global status like 'wsrep%';