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 mit MySQL und dem Percona-Server kompatibel ist.
Percona ist ein Unternehmen von MySQL- und MongoDB-Datenbankexperten, das 2006 gegründet wurde. Percona erstellt und wartet Open-Source-Software für MySQL und MongoDB:den Percona-Server (Datenbankserver für MySQL mit Leistungsverbesserungen für Hochverfügbarkeit), 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-Überwachungstools und Percona XtraBackup.
Voraussetzung
- 3 CentOS 7-Serverknoten.
- Root-Rechte.
- Grundlegende CentOS 7-Kenntnisse.
Schritt 1 - Richten Sie die Hosts-Datei ein
Als erstes müssen die Hostnamen aller Server konfiguriert werden. Ich habe 3 Server mit CentOS 7, wie unten aufgeführt:
Knoten Server-IP Hostname
Knoten1 - 192.168.43.36 percona1
Knoten2 - 192.168.43.166 percona2
Knoten3 - . 192.168.43.143 conVerbinden Sie sich über Ihr Terminal mit allen Servern:
ssh [E-Mail-geschützt]Wenn Sie sich bei allen Servern angemeldet haben, bearbeiten Sie die Datei „/etc/hosts“ auf jedem Server mit vim:
vim /etc/hostsFügen Sie die Hostkonfiguration unten ein:
192.168.43.36 percona1
192.168.43.166 percona2
192.168.43.148 percona3Ersetzen Sie die IP-Adressen durch diejenigen, die Ihrer lokalen Netzwerkkonfiguration entsprechen. Speichern und beenden.
Schritt 2 - Konfigurieren Sie Firewalld
Firewalld ist die neue Standard-Firewallschnittstelle auf CentOS 7. Der firewall-cmd-Befehl 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 firewalld für die Firewall-Konfiguration. Wir verwenden den Befehl „firewall-cmd“, um den Port des Percona-Servers und andere Ports zu öffnen, die für den Cluster benötigt werden.
Starten Sie firewalld mit diesem systemctl-Befehl:
systemctl starte firewalldFühren Sie dann den folgenden Befehl aus, um den vom MySQL/percona-Server verwendeten Port zu öffnen:
firewall-cmd --zone=public --add-service=mysql --permanentFügen Sie als Nächstes 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 --permanentLaden Sie die Firewall-Regeln neu:
firewall-cmd --reloadUm die Liste aller Firewall-Regeln anzuzeigen, verwenden Sie die Option '--list-all':
firewall-cm --list-all
Schritt 3 – Installieren Sie das Epel-Repository und Socat
Um den Percona XtraDB-Cluster auf dem Server zum Laufen zu bringen, müssen wir socat installieren, und es ist im epel-Repository verfügbar. Wir müssen also zuerst das Epel-Repository installieren und dann socat installieren. Außerdem 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 socatEntfernen Sie die mariadb-libs, um den Paketkonflikt zwischen mariadb-libs und dem Percona XtraDB-Cluster zu vermeiden:
yum -y mariadb-libs entfernenDas Epel-Repository und Socat sind installiert.
Schritt 4 – Percona XtraDB Cluster installieren
In diesem Schritt installieren wir den Percona xtradb-Cluster mit allen Paketabhängigkeiten. Wir müssen das Percona-Repository für die Installation hinzufügen und dann starten wir den Percona-Server und konfigurieren den Root-Benutzer und das Passwort für den Datenbankserver.
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.rpmInstallieren Sie nun den Percona XtraDB-Cluster und die anderen für dieses Tutorial erforderlichen 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 ncPercona XtraDB Cluster installiert ist, starten Sie den Percona-Server mit diesem systemctl-Befehl:
systemctl mysql startenAls nächstes konfigurieren Sie das Root-Passwort für alle Percona/Mysql-Server:
mysql_secure_installationLegen Sie das percona/mysql-Passwort fest:
Aktuelles Passwort für Root eingeben (Eingabe für keins):ENTER DRÜCKEN
Root-Passwort festlegen? [Y/n] Y
Neues Passwort:PASSWORT EINGEBEN
Neues Passwort erneut eingeben:PASSWORT WIEDERHOLEN
Anonyme Benutzer entfernen? [Y/n] Y
Root-Anmeldung aus der Ferne nicht zulassen? [Y/n] Y
Berechtigungstabellen jetzt neu laden? [J/n] JaHinweis:
Führen Sie Schritt 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 Donator auf einen anderen Server als Joiner. Für die SST-Authentifizierung müssen wir einen neuen Benutzer namens „sstuser“ mit dem Passwort „[email protected]“ erstellen. Und für die SST-Methode verwenden wir xtrabackup-v2 anstelle von rsync. Bitte verwenden Sie ein anderes und sicheres Passwort für Ihren Cluster!
Melden Sie sich auf jedem Server bei der percona/mysql-Shell an:
mysql -u root -p
GEBEN SIE IHR PASSWORT EINUnd erstellen Sie den neuen „sstuser“ mit dem Passwort „[email protected]“:
Benutzer [email protected]'%' erstellen, identifiziert durch '[email protected]';
alle auf *.* an [email protected]'%' gewähren;
Berechtigungen löschen;
Stoppen Sie dann den MySQL-Dienst auf jedem Server, bevor Sie die Konfigurationsdatei bearbeiten:
systemctl stoppt mysqlAls nächstes bearbeiten Sie die mysql-Konfigurationsdatei my.cnf auf jedem Server mit dem vim-Editor.
Auf Percona1 Server:
vim /etc/my.cnfÄndern Sie alle 'wsrep'-Zeilen mit der folgenden Konfiguration:
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Ändern Sie alle 'wsrep'-Zeilen mit der folgenden Konfiguration:
wsrep_cluster_address =gcomm:// percona1, percona3
WSREP_PROVIDER =/USR/LIB64/GALERA3/LIBGALERA_SMM.SM
WSREP_SLAVE_THEADS =8
WSREP_CLUSTER_NAME =Threads =8
WSREP_CLUSTER_NAME =Threads =8
WSREP_CLUSTER_NAME =CLUSTRADS =8
WSREP_CLUSTER_NAME =Threads =8
WSREP_CLUSTER_NAME =WSREP_CLUSTER_NAME />wsrep_node_name =percona2
wsrep_node_address =percona2
wsrep_sst_method =xtra backup-v2
wsrep_sst_authSpeichern und beenden.
Auf Percona3 Server:
vim /etc/my.cnfÄndern Sie alle 'wsrep'-Zeilen mit der folgenden Konfiguration:
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 =xtra backup-v2
wsrep_sst_authSpeichern und beenden.
Screenshot von percona2 Server.
Schritt 6 – Starten Sie den Percona XtraDB Cluster Server
Wir haben den Percona XtraDB-Cluster auf allen Servern konfiguriert und können den Server jetzt starten.
Auf dem Percona1-Server Bootstraping oder Cluster zum Laufen bringen:
systemctl start [email protected]Starten Sie als Nächstes den Percona/MySQL-Server auf dem percona2- und percona3-Server mit dem folgenden Befehl:
systemctl mysql startenvergewissern Sie sich, dass keine Fehlermeldungen angezeigt werden. Wenn nach der Eingabe zum Starten von MySQL ein Fehler auftritt, überprüfen Sie die Protokolldatei '/var/log/messages'.
Schritt 7 – Testen
Wir müssen uns auf jedem Server bei der percona/mysql-Shell anmelden, um den Percona XtraDB-Cluster zu testen.
Melden Sie sich auf allen Servern/Knoten bei der Percona/MySQL-Shell an:
mysql -u root -p
GEBEN SIE IHR PASSWORT EINTesten der Hochverfügbarkeit mit mysql-Befehl:
ZEIGE STATUS WIE 'wsrep_local_state_comment';Probieren Sie diesen Befehl auf jedem Knoten aus, wenn Sie "Synced" sehen als Ergebnis ist dieser Knoten bereit, den Datenverkehr zu verarbeiten.
Verfügbare Knoten des Clusters testen:
globalen Status wie 'wsrep_cluster_size' anzeigen;Sie erhalten die aktuelle Anzahl der Knoten im Percona-Cluster.
Für die vollständigen Ergebnisse können Sie den folgenden Befehl verwenden:
globalen Status anzeigen wie 'wsrep%';