GNU/Linux >> Znalost Linux >  >> Debian

Jak nastavit tříuzlový MySQL 8 Cluster na Debianu 10

MySQL je bezplatný systém správy relačních databází s otevřeným zdrojovým kódem. Používá se k ukládání dat pro různé účely, včetně aplikací pro ukládání dat, elektronický obchod a protokolování. MySQL Cluster je technologie, která poskytuje škálovatelnost a dostupnost za nízkou cenu.

V tomto kurzu použijeme jeden hlavní uzel pro uložení konfigurace clusteru a dva datové uzly pro uložení dat clusteru. IP adresa každého uzlu je uvedena níže:

  • Hlavní nebo manažerský uzel – 104.245.33.61
  • Datový uzel1 – 104.245.32.195
  • Datový uzel2 – 69.87.218.169

Předpoklady

  • Tři servery se systémem Debian 10, jeden pro manažerský uzel a ostatní jsou datové uzly.
  • Na každém serveru je nastaveno heslo uživatele root.

Začínáme

Nejprve budete muset aktualizovat všechny servery na nejnovější verzi. Vše můžete aktualizovat pomocí následujícího příkazu:

apt-get update -y

Jakmile jsou všechny servery aktualizovány, můžete přejít k dalšímu kroku.

Instalace a nastavení MySQL Cluster Manager

Nejprve budete muset nainstalovat balíček správy clusteru MySQL na hlavní uzel. Ve výchozím nastavení není tento balíček součástí výchozího úložiště Debian 10. Budete si jej tedy muset stáhnout z oficiálních stránek MySQL.

Můžete si jej stáhnout pomocí následujícího příkazu:

wget https://cdn.mysql.com//Downloads/MySQL-Cluster-8.0/mysql-cluster-community-management-server_8.0.24-1debian10_amd64.deb

Po stažení souboru deb jej nainstalujte pomocí následujícího příkazu:

dpkg -i mysql-cluster-community-management-server_8.0.24-1debian10_amd64.deb

Po dokončení instalace vytvořte adresář pro uložení konfigurace clusteru pomocí následujícího příkazu:

mkdir /var/lib/mysql-cluster

Dále vytvořte nový konfigurační soubor pomocí následujícího příkazu:

nano /var/lib/mysql-cluster/config.ini

Přidejte následující řádky:

[ndbd default]NoOfReplicas=2 # Počet replik[ndb_mgmd]# Možnosti procesu správy:hostname=104.245.33.61 #IP databáze MySQL Cluster Manager=/var/lib/mysql-cluster[ndbd]hostname=104.245. 32.195 #IP prvního datového nodeNodeId=2 # ID uzlu pro tato data nodedatadir=/usr/local/mysql/data # Vzdálený adresář pro datové soubory[ndbd]hostname=69.87.218.169 #IP druhého datového nodeNodeId=3 # ID uzlu pro tato data nodedatadir=/usr/local/mysql/data # Vzdálený adresář pro datové soubory[mysqld]# možnosti uzlu SQL:hostname=104.245.33.61 #IP Správce clusteru MySQL

Po dokončení uložte a zavřete soubor, poté spusťte správce clusteru pomocí následujícího příkazu:

ndb_mgmd -f /var/lib/mysql-cluster/config.ini

Měli byste získat následující výstup:

MySQL Cluster Management Server mysql-8.0.24 ndb-8.0.242021-05-10 08:23:05 [MgmtSrvr] INFO -- Výchozí konfigurační adresář '/usr/mysql-cluster' neexistuje. Pokus o vytvoření...2021-05-10 08:23:05 [MgmtSrvr] INFO -- úspěšně vytvořen konfigurační adresář

Nyní ukončete běžící server pomocí následujícího příkazu:

pkill -f ndb_mgmd

Dále vytvořte soubor služby systemd pro MySQL Cluster Manager pro správu služby:

nano /etc/systemd/system/ndb_mgmd.service

Přidejte následující řádky:

[Unit]Description=MySQL NDB Cluster Management ServerAfter=network.target auditd.service[Service]Type=forkingExecStart=/usr/sbin/ndb_mgmd -f /var/lib/mysql-cluster/config.iniExecReload=/bin /kill -HUP $MAINPIDKillMode=processRestart=on-failure[Install]WantedBy=multi-user.target

Uložte a zavřete soubor a poté znovu načtěte démona systemd pomocí následujícího příkazu:

systemctl daemon-reload

Dále spusťte Správce klastrů a povolte jeho spuštění při restartu systému pomocí následujícího příkazu:

systemctl start ndb_mgmd
systemctl povolení ndb_mgmd

Nyní můžete zkontrolovat stav služby pomocí následujícího příkazu:

stav systemctl ndb_mgmd

Měli byste získat následující výstup:

 ? ndb_mgmd.service - MySQL NDB Cluster Management Server Načten:načten (/etc/systemd/system/ndb_mgmd.service; zakázán; přednastaveno dodavatelem:povoleno) Aktivní:aktivní (běží) od Po 2021-05-10 08:23:53 UTC; před 6 s Proces:984 ExecStart=/usr/sbin/ndb_mgmd -f /var/lib/mysql-cluster/config.ini (kód=ukončeno, stav=0/ÚSPĚCH) Hlavní PID:985 (ndb_mgmd) Úkoly:12 (limit :2359) Paměť:6,5M CGroup:/system.slice/ndb_mgmd.service ??985 /usr/sbin/ndb_mgmd -f /var/lib/mysql-cluster/config.iniMay 10 08:23:53 master systemd[1 ]:Spouštění serveru MySQL NDB Cluster Management Server...10. května 08:23:53 master ndb_mgmd[984]:Server pro správu clusteru MySQL mysql-8.0.24 ndb-8.0.24 10. května 08:23:53 master systemd[1]:Spuštěn MySQL NDB Cluster Management Server.

Jakmile budete hotovi, můžete přejít k dalšímu kroku.

Instalace a konfigurace datových uzlů

Dále vytvoříme balíček datových uzlů na jiných serverech a nakonfigurujeme jej pro komunikaci s MySQL Cluster Manager.

Nejprve nainstalujte požadované závislosti na obou datových uzlech pomocí následujícího příkazu:

apt-get install libclass-methodmaker-perl -y

Jakmile jsou všechny závislosti nainstalovány, stáhněte si nejnovější verzi deb souboru MySQL Data Nodes pomocí následujícího příkazu:

wget https://cdn.mysql.com//Downloads/MySQL-Cluster-8.0/mysql-cluster-community-data-node_8.0.24-1debian10_amd64.deb

Po dokončení stahování nainstalujte stažený soubor pomocí následujícího příkazu:

dpkg -i mysql-cluster-community-data-node_8.0.24-1debian10_amd64.deb

Datové uzly standardně ukládají všechny konfigurace do souboru /etc/my.cnf.

Vytvořte tedy nový soubor /etc/my.cnf na obou datových uzlech pomocí následujícího příkazu:

nano /etc/my.cnf

Přidejte IP clusteru, jak je znázorněno níže:

[mysql_cluster]# Možnosti pro procesy NDB clusteru:ndb-connectstring=104.245.33.61 #IP Správce clusteru MySQL

Uložte a zavřete soubor a poté vytvořte datový adresář na obou datových uzlech:

mkdir -p /usr/local/mysql/data

Nyní spusťte datové uzly následujícím příkazem:

ndbd

Měli byste získat následující výstup:

2021-05-10 08:27:13 [ndbd] INFO -- Angel připojen k '104.245.33.61:1186'2021-05-10 08:27:13 [ndbd] INFO -- Angel přidělený nodeid:2 

Dále ukončete běžící proces ndbd následujícím příkazem:

pkill -f ndbd

Dále vytvořte soubor služby systemd pro ndbd na obou datových uzlech pomocí následujícího příkazu:

nano /etc/systemd/system/ndbd.service

Přidejte následující řádky:

[Unit]Description=Datový uzel MySQL NDB DaemonAfter=network.target auditd.service[Service]Type=forkingExecStart=/usr/sbin/ndbdExecReload=/bin/kill -HUP $MAINPIDKillMode=processRestart=při selhání[Instalovat ]WantedBy=multi-user.target

Uložte a zavřete soubor a poté znovu načtěte démona systemd pomocí následujícího příkazu:

systemctl daemon-reload

Dále spusťte službu ndbd a spusťte ji při restartu systému pomocí následujícího příkazu:

systemctl spustit ndbd
systemctl povolit ndbd

Stav služby ndbd můžete také zkontrolovat pomocí následujícího příkazu:

stav systemctl ndbd

Měli byste získat následující výstup:

? ndbd.service – Daemon datového uzlu MySQL NDB Načteno:načteno (/etc/systemd/system/ndbd.service; zakázáno; přednastaveno dodavatelem:povoleno) Aktivní:aktivní (běží) od Po 2021-05-10 08:28:28 UTC; Před 12 s Proces:740 ExecStart=/usr/sbin/ndbd (kód=ukončeno, stav=0/ÚSPĚCH) Hlavní PID:741 (ndbd) Úkoly:46 (limit:2359) Paměť:827,1M CGroup:/system.slice/ ndbd.service ??741 /usr/sbin/ndbd ??742 /usr/sbin/ndbdMay 10 08:28:28 data1 systemd[1]:Spouštění MySQL NDB Data Node Daemon...May 10 08:28:28 data1 nda :28:28 [ndbd] INFO -- Angel alokované nodeid:2. května 10 08:28:28 data1 systemd[1]:Spuštěn MySQL NDB Data Node Daemon.

Instalace a konfigurace serveru MySQL

Dále si stáhneme a nainstalujeme balíčky MySQL Server a Client na MySQL Cluster Manager Node.

Nejprve si stáhněte nejnovější verzi MySQL Cluster Bundle pomocí následujícího příkazu:

wget https://cdn.mysql.com/Downloads/MySQL-Cluster-8.0/mysql-cluster_8.0.24-1debian10_amd64.deb-bundle.tar

Dále rozbalte stažený soubor v adresáři /opt pomocí následujícího příkazu:

tar -xvf mysql-cluster_8.0.24-1debian10_amd64.deb-bundle.tar -C /opt

Dále změňte adresář na /opt a nainstalujte požadované závislosti pomocí následujícího příkazu:

cd /opt
apt-get install libaio1 libmecab2 libnuma1 psmisc -y

Dále nainstalujte soubor MySQL Common deb pomocí následujícího příkazu:

dpkg -i mysql-common*

Dále nainstalujte balíčky klienta MySQL pomocí následujícího příkazu:

dpkg -i mysql-cluster-community-client_8.0.24-1debian10_amd64.deb mysql-cluster-community-client-core_8.0.24-1debian10_amd64.deb mysql-cluster-community_8.0.0. br />dpkg -i mysql-client_8.0.24-1debian10_amd64.deb
dpkg -i mysql-cluster-community-server*

Pokud se zobrazí jakákoli chyba závislosti, spusťte následující příkaz:

apt-get install -f

Dále nainstalujte balíček serveru MySQL pomocí následujícího příkazu:

dpkg -i mysql-server_8.0.24-1debian10_amd64.deb

Během instalace budete vyzváni k nastavení hesla root MySQL.

Po instalaci serveru MySQL budete muset upravit hlavní konfigurační soubor MySQL a definovat IP clusteru:

nano /etc/mysql/my.cnf

Přidejte následující řádky:

[mysqld]# Možnosti pro mysqld process:ndbcluster # spuštění NDB storage engine[mysql_cluster]# Možnosti pro NDB Cluster process:ndb-connectstring=104.245.33.61 #IP Správce clusteru MySQL

Po dokončení uložte a zavřete soubor. Dále restartujte službu MySQL a povolte její spuštění při restartu systému:

systemctl restart mysql
systemctl povolit mysql

Stav serveru MySQL můžete zkontrolovat pomocí následujícího příkazu:

stav systemctl mysql

Měli byste vidět následující výstup:

? mysql.service – MySQL Cluster Community Server Načteno:načteno (/lib/systemd/system/mysql.service; povoleno; přednastaveno dodavatelem:povoleno) Aktivní:aktivní (běží) od Po 2021-05-10 08:35:04 UTC; Před 7 s Dokumenty:man:mysqld(8) http://dev.mysql.com/doc/refman/en/using-systemd.html Proces:1950 ExecStartPre=/usr/share/mysql-8.0/mysql-systemd-start pre (kód=ukončeno, stav=0/ÚSPĚCH) Hlavní PID:1985 (mysqld) Stav:"Server je funkční" Úkoly:47 (limit:2359) Paměť:372.0M CGroup:/system.slice/mysql.service ?? 1985 /usr/sbin/mysqldMay 10 08:35:01 master systemd[1]:Spouštění MySQL Cluster Community Server...May 10 08:35:04 master systemd[1]:Spuštěn MySQL Cluster Community Server.

Jakmile budete hotovi, můžete přejít k dalšímu kroku.

Test MySQL Cluster

Nyní jsme úspěšně nainstalovali a nakonfigurovali tříuzlový MySQL Cluster. Dále budete muset ověřit, zda funguje nebo ne.

Nejprve se přihlaste do uzlu MySQL Cluster Manager a přihlaste se do MySQL pomocí následujícího příkazu:

mysql -u root -p

Zadejte své kořenové heslo MySQL a poté zkontrolujte informace o clusteru pomocí následujícího příkazu:

mysql> ZOBRAZIT STAV MOTORU NDB \G

Pokud je vše v pořádku, měli byste získat následující výstup:

***************************** 1. řádek **************** ********** Typ:ndbclus Název:connectionStatus:cluster_node_id=4, connected_host=104.245.33.61, connected_port=1186, number_of_data_nodes=2, number_of_ready_data_nodes=2, connect_count=0******** ******************* 2. řádek **************************** Typ :ndbclus Název:NdbTransactionStatus:created=2, free=2, sizeof=392**************************** 3. řádek *** ************************ Typ:ndbclus Název:NdbOperationStatus:created=4, free=4, sizeof=944******** ******************* 4. řádek **************************** Typ :ndbclus Název:NdbIndexScanOperationStatus:created=0, free=0, sizeof=1152*************************** 5. řádek *** ************************ Typ:ndbclus Název:NdbIndexOperationStatus:created=0, free=0, sizeof=952******** ******************* 6. řádek **************************** Typ :ndbclus Jméno:NdbRecAttrStatus:created=0, free=0, sizeof=88**************************** 7. řádek *** *********************** Typ:ndbclus Name:NdbApiSignalStatus:created=16, free=16, sizeof=144**************************** 8. řádek **** *********************** Typ:ndbclus Název:NdbLabelStatus:created=0, free=0, sizeof=200******** ****************** 9. řádek **************************** Typ:ndbclus Name:NdbBranchStatus:created=0, free=0, sizeof=32******************************** 10. řádek **** *********************** Typ:ndbclus Název:NdbSubroutineStatus:created=0, free=0, sizeof=72********* ****************** 11. řádek **************************** Typ:ndbclus Name:NdbCallStatus:created=0, free=0, sizeof=24******************************** 12. řádek **** *********************** Typ:ndbclus Název:NdbBlobStatus:created=0, free=0, sizeof=592********* ****************** 13. řádek *************************** Typ:ndbclus Name:NdbReceiverStatus:created=0, free=0, sizeof=128******************************* 14. řádek **** *********************** Typ:ndbclus Název:NdbLockHandleStatus:created=0, free=0, sizeof=48********* * ***************** 15. řádek **************************** Typ:ndbclus Název:binlogStatus:nejnovější_epoch=897648164875, nejnovější_trans_epoch=820338753551, nejnovější_received_binlog_epoch=0, nejnovější_handled_binlog_epoch=0, nejnovější_applied_binlog_epoch=015 řádků v sadě (0.0. 

Nyní ukončete prostředí MySQL pomocí následujícího příkazu:

mysql> exit

Nyní provedeme další test, abychom potvrdili, že cluster funguje správně.

Připojte konzolu pro správu klastru pomocí následujícího příkazu:

ndb_mgm

Měli byste vidět následující výstup:

-- Cluster NDB -- Klient pro správu --ndb_mgm>

Nyní spusťte následující příkaz a zkontrolujte všechna data ndoes:

ndb_mgm> ZOBRAZIT

Měli byste získat následující výstup:

Připojeno k Management Serveru na:104.245.33.61:1186 Konfigurace clusteru---------------------[ndbd(NDB)] 2 node(s)id=2 @104.245.32.195 (mysql-8.0.24 ndb-8.0.24, Nodegroup:0, *)id=3 @69.87.218.169 (mysql-8.0.24 ndb-8.0.24, Nodegroup:0)db ] 1 uzel(s)id=1 @104.245.33.61 (mysql-8.0.24 ndb-8.0.24)[mysqld(API)] 1 uzel(s)id=4 @104.245.33.61 (mysql-8.0.24 ndb -8.0.24)

Chcete-li zkontrolovat stav prvního datového uzlu, spusťte následující příkaz:

ndb_mgm> 2 STAV

Měli byste vidět následující výstup:

Uzel 2:spuštěn (mysql-8.0.24 ndb-8.0.24)

Chcete-li zkontrolovat stav druhého datového uzlu, spusťte následující příkaz:

ndb_mgm> 3 STAV

Měli byste vidět následující výstup:

Uzel 3:spuštěn (mysql-8.0.24 ndb-8.0.24)

Závěr

Gratulujeme! úspěšně jste nainstalovali a nastavili tříuzlový MySQL Cluster na serveru Debian 10. Nyní můžete toto nastavení použít v produkčním prostředí k dosažení škálovatelnosti a dostupnosti.


Debian
  1. Jak nainstalovat Percona XtraDB Cluster pro MySQL na Debian 8

  2. Jak nainstalovat osquery na Debian 10

  3. Jak nastavit Rsyslog Server na Debianu 11

  1. Jak nastavit vsftpd na Debianu

  2. Jak nainstalovat MySQL na Debian 9

  3. Jak nainstalovat MySQL na Debian 11

  1. Jak nainstalovat CockroachDB Cluster na Debian 11

  2. Jak nainstalovat cluster MySQL na Ubuntu 16.04

  3. Jak nainstalovat Apache Spark Cluster Computing Framework na Debian 10