Kuinka asentaa MariaDB Galera Clusterin Ubuntu 16.04: lle

Kuinka asentaa MariaDB Galera Clusterin Ubuntu 16.04: lle

MariaDB Galera on MariaDB: n moniammatillinen klusteri. Koska MariaDB 10.1, MariaDB-palvelin ja MariaDB Galera -palvelinpaketit on yhdistetty, Galera-paketit ja niiden riippuvuudet asennetaan automaattisesti MariaDB-ohjelmiston asennuksen yhteydessä. Tällä hetkellä MariaDB Galera Cluster tukee vain InnoDB / XtraDB -muistimoduulia. MariaDB 10.0 ja 5.5, sinun on ladattava se erikseen. MariaDB Galera lisää redundanssia sivuston tietokantaan. MariaDB Galera Clusterissa useita tietokantapalvelimia on liitetty toisiinsa ja pidettävä synkronoituna.

MariaDB Galera tarjoaa paljon ominaisuuksia, joista osa on lueteltu alla:

  1. Synkroninen replikointi.
  2. Automaattinen solmun liittäminen.
  3. Aktiivinen aktiivinen moni-master-topologia.
  4. Todellinen rinnakkainen replikointi, rivitasolla.
  5. Lue ja kirjoita skaalautuvuus, Pienemmät asiakkaan latenssit.
  6. Epäonnistuneet solmut, automaattinen pudotus klusterista.

Tässä opetusohjelmassa kerrotaan, kuinka setupin MariaDB Galera Cluster 10.1 ja 3 solmut toimivat Ubuntu 16.04 palvelimella. Testataan myös tietokantojen replikointi kaikkien solmujen välillä.

vaatimukset

  • Kolme solmua, jotka käyttävät Ubuntu 16.04 -palvelinta.
  • Node1 staattisella IP-osoitteella 192.168.0.102, Node2 staattisella IP-osoitteella 192.168.0.103 ja Node3, jossa staattinen IP-osoite 192.168.0.104 konfiguroidaan palvelimellasi.
  • Ei-juurikäyttäjä, jolla sudo-oikeudet asennetaan kaikille solmuille.

Päästä alkuun

Ensin sinun on päivitettävä kaikki solmut viimeisimmällä versiolla. Voit päivittää ne kaikki seuraavalla komennolla:

sudo apt-get update -y
sudo apt-get upgrade -y

Seuraavaksi käynnistä kaikki solmut uudelleen näiden muutosten soveltamiseksi. Kirjaudu sitten sudo-käyttäjän kanssa ja siirry seuraavaan vaiheeseen.

Asenna MariaDB Galera

MariaDB Server- ja MariaDB Galera -palvelinpaketit yhdistetään versioon MariaDB 10.1. Oletusarvon mukaan MariaDB 10.1 ei ole käytettävissä Ubuntun oletusvarastoissa, joten sinun on lisättävä MariaDB-tietovarasto kaikkiin solmuihin.

Ensinnäkin lisää MariaDB-arkisto avain seuraavalla komennolla:

sudo apt-key adv -recv-keys -keyserver hkp: //keyserver.ubuntu.com: 80 0xF1656F24C74CD1D8

Lisää sitten arkisto ja päivitä APT-välimuisti seuraavalla komennolla:

sudo add-apt-repository 'deb [arch = amd64, i386, ppc64el] http://ftp.utexas.edu/mariadb/repo/10.1/ubuntu xenial pää'
sudo apt-get update -y

Kun arkisto on päivitetty, asenna MariaDB seuraavalla komennolla:

sudo apt-get asenna mariadb-server rsync -y

Yllä oleva komento asentaa MariaDB: n Galeralla ja useilla riippuvuuksilla. Galera-osat pysyvät lepotilassa, kunnes ne on konfiguroitu, kuten laajennus tai varastokone. Kun MariaDB on asennettu kaikkiin solmuihin, voit jatkaa MariaDB: n varmistamista.

Oletuksena MariaDB-asennus ei ole varmistettu, joten sinun on varmistettava MariaDB-asennus. Voit tehdä tämän suorittamalla mysql_secure_installation-komentosarjan:

sudo mysql_secure_installation

Tässä prosessissa sinua pyydetään asettamaan pääkäyttäjän salasana, poistamaan nimettömät käyttäjät, estämään pääkäyttäjän sisäänkirjautuminen etäyhteydellä ja poistamaan testitietokanta. Vastaa kaikkiin alla esitettyihin kysymyksiin:

Syötä nykyinen pääkäyttäjän salasana (enter for none): Vaihda root-salasana? [Y / n] n Poista nimetön käyttäjä? [Y / n] Y Estää root-kirjautumisen etänä? [Y / n] Y Poista testaustietokanta ja pääsy siihen? [Y / n] Y Lataa oikeudet taulukoihin nyt? [Y / n] Y

Kun MariaDB on varmistettu kaikille solmuille, voit siirtyä seuraavaan vaiheeseen.

Aseta MariaDB-klusteri Node1: hen

Siirry ensin Node1: ään ja luo Galera-asetustiedosto. Oletuksena MariaDB lukee kokoonpanon /etc/mysql/conf.d/ hakemistosta. Voit tehdä tämän suorittamalla seuraavan komennon:

sudo nano /etc/mysql/conf.d/galera.cnf

Lisää seuraavat rivit:

[mysqld] binlog_format = ROW oletustallennus-moottori = innodb innodb_autoinc_lock_mode = 2 bind-address = 0.0.0.0 # Galera-palvelimen määritys wsrep_on = ON wsrep_provider = / usr / lib / galera / libgalera_smm.so # Galera-klusterin määritys wsrep_cluster_name = "galera_cluster" wsrep_cluster_address = "gcomm: // 192.168.0.102,192.168.0.103,192.168.0.104" # Galera-synkronointiasetus wsrep_sst_method = rsync # Galera-solmu Määritys wsrep_node_address = "192.168.0.102" wsrep_node_name = "Node1"

Tallenna tiedosto, kun olet valmis.

Huomautus: 192.168.0.102 on Node1: n IP-osoite

Lisää Node2 Galera-klusterissa

Seuraavaksi siirry Node2: ään ja luo Galera-asetustiedosto:

sudo nano /etc/mysql/conf.d/galera.cnf

Lisää seuraavat rivit:

[mysqld] binlog_format = ROW oletustallennus-moottori = innodb innodb_autoinc_lock_mode = 2 bind-address = 0.0.0.0 # Galera-palvelimen määritys wsrep_on = ON wsrep_provider = / usr / lib / galera / libgalera_smm.so # Galera-klusterin määritys wsrep_cluster_name = "galera_cluster" wsrep_cluster_address = "gcomm: // 192.168.0.102,192.168.0.103,192.168.0.104" # Galera-synkronointiasetus wsrep_sst_method = rsync # Galera-solmu Määritys wsrep_node_address = "192.168.0.103" wsrep_node_name = "Node2"

Tallenna tiedosto, kun olet valmis.

Huomautus: 192.168.0.103 on Node2: n IP-osoite.

Lisää Node3 Galera-klusterissa

Seuraavaksi siirry Node3: ään ja luo Galera-asetustiedosto:

sudo nano /etc/mysql/conf.d/galera.cnf

Lisää seuraavat rivit:

[mysqld] binlog_format = ROW oletustallennus-moottori = innodb innodb_autoinc_lock_mode = 2 bind-address = 0.0.0.0 # Galera-palvelimen määritys wsrep_on = ON wsrep_provider = / usr / lib / galera / libgalera_smm.so # Galera-klusterin määritys wsrep_cluster_name = "galera_cluster" wsrep_cluster_address = "gcomm: // 192.168.0.102,192.168.0.103,192.168.0.104" # Galera-synkronointiasetus wsrep_sst_method = rsync # Galera-solmu Määritys wsrep_node_address = "192.168.0.104" wsrep_node_name = "Node3"

Tallenna tiedosto, kun olet valmis.

Huomautus: 192.168.0.104 on Node3: n IP-osoite.

Määritä palomuuri

Galera-klusteri käyttää neljää porttia 3306 MySQL-asiakassovellukselle, 4444 State Snapshot Transferille, 4567 Galera-klusterin replikaatioliikenteelle ja 4568 Incremental State Transferille. Joten sinun on sallittava kaikki nämä portit käyttämällä UFW-palomuuria. Voit tehdä tämän suorittamalla seuraavan komennon kaikissa solmuissa:

Ota ensin UFW-palomuuri käyttöön seuraavasti:

sudo ufw enable

Seuraavaksi anna kaikki portit, joilla on seuraava komento:

sudo ufw anna 3306 / tcp
sudo ufw anna 4444 / tcp
sudo ufw anna 4567 / tcp
sudo ufw anna 4568 / tcp
sudo ufw sallia 4567 / udp

Sen jälkeen voit tarkistaa palomuurin tilan seuraavalla komennolla:

sudo ufw tila

Kun UFW-palomuuri on määritetty kaikille solmuille, voit siirtyä seuraavaan vaiheeseen.

Aloita MariaDB Galera -klusteri

Kun olet ratkaissut kaikki solmut, siirry Node1: ään ja käynnistä Galera-klusteri.

Ennen kuin Galera voi aloittaa, sinun on varmistettava, että MariaDB-palvelu pysäytetään kaikissa solmuissa.

Suorita seuraava komento kaikissa solmuissa:

sudo systemctl stop mysql

Aloita nyt Galera-klusteri Node1: lla seuraavalla komennolla:

sudo galera_new_cluster

Tarkista nyt, toimiiko klusteri seuraavalla komennolla:

mysql -u root -p -e "näyttää tilan, kuten" wsrep_cluster_size ""

Jos kaikki on kunnossa sinun pitäisi nähdä seuraava tuotos:

+ -------------------- + ------- + | Muuttuja_nimi | Arvo | + -------------------- + ------- + | wsrep_cluster_size | 1 | + -------------------- + ------- +

Aloita MariaDB-palvelu Node2: lla:

sudo systemctl aloittaa mysql

Voit tarkistaa MariaDB-palvelun tilan, toimiiko se seuraavalla komennolla:

sudo systemctl status mysql

Jos kaikki on kunnossa, sinun pitäisi nähdä seuraava tulos:

?? mariadb.service - MariaDB-tietokantapalvelin Ladattu: ladattu (/lib/systemd/system/mariadb.service; käytössä; toimittajan esiasetus: käytössä) Aktiivinen: aktiivinen (käynnissä), koska Sun 2017-09-17 10: 11: 20 EDT; 10min sitten Prosessi: 715 ExecStartPost = / bin / sh -c systemctl unset-environment _WSREP_START_POSITION (koodi = poistettu, tila = 0 / SUCCESS) Prosessi: 713 ExecStartPost = / etc / mysql / debian-start (koodi = poistettu, tila = 0 / SUCCESS) Prosessi: 545 ExecStartPre = / bin / sh -c [! -e / usr / bin / galera_recovery] & & VAR = || VAR = `/ usr / bin / galera_recovery`; [$? -eq 0] & & systemctl set Prosessi: 535 ExecStartPre = / bin / sh -c systemctl unset-environment _WSREP_START_POSITION (koodi = poistettu, tila = 0 / SUCCESS) Prosessi: 514 ExecStartPre = / usr / bin / install -m 755 -o mysql -g root -d / var / run / mysqld (koodi = poistunut, tila = 0 / SUCCESS) Pää PID: 661 (mysqld) Tila: "SQL-pyyntöjen ottaminen nyt ..." Tehtävät: 26 (raja: 4915) CGroup: /system.slice/mariadb.service 661 / usr / sbin / mysqld Sep 17 10: 11: 11 debian systemd [1]: MariaDB-tietokantapalvelimen käynnistäminen ... Sep 17 10: 11: 15 debian mysqld [661]: 2017-09-17: 10: 11 15 [Note] / usr / sbin / mysqld (mysqld 140287134630464-MariaDB-10.1.26 + deb0u9) prosessista Sep 1 17: 10: 11 debian systemd [20 ]: Aloitti MariaDB-tietokantapalvelimen.

Nyt toisen solmun pitäisi olla automaattisesti linkitetty klusteriin. Voit tarkistaa seuraavan komennon:

mysql -u root -p -e "näyttää tilan, kuten" wsrep_cluster_size ""

Jos kaikki toimivat hyvin, klusterin koko on asetettava kahteen:

+ -------------------- + ------- + | Muuttuja_nimi | Arvo | + -------------------- + ------- + | wsrep_cluster_size | 2 | + -------------------- + ------- +

Aloita MariaDB-palvelu Node3: lla:

sudo systemctl aloittaa mysql
mysql -u root -p -e "näyttää tilan, kuten" wsrep_cluster_size ""

Jos kaikki toimivat hyvin, klusterin koko on asetettava kolmeen:

+ -------------------- + ------- + | Muuttuja_nimi | Arvo | + -------------------- + ------- + | wsrep_cluster_size | 3 | + -------------------- + ------- +

Klusteri työskentelee nyt ja viestii toisiaan.

Testaa tietokannan replikointi

Nyt kaikki solmut ovat verkossa, on aika testata tietokannan replikointi Galera-klusterin kautta. Aloita luomalla tietokanta Node1: llä ja tarkistamalla, kopioidaanko se kaikkiin solmuihin.

Ensinnäkin kirjaudu MariaDb-konsoliin seuraavalla komennolla:

mysql -u root -p

Anna pääsalasanasi ja luo tietokanta nimeltä test_db:

MariaDB [(none)]> luo tietokanta test_db;
MariaDB [(none)]> näyttää tietokannat;

+ -------------------- + | Tietokanta | + -------------------- + | test_db | + -------------------- +

Siirry nyt Node2 ja Node3, tarkista, että replikointi toimii tai ei:

mysql -u root -p
MariaDB [(none)]> näyttää tietokannat;

+ -------------------- + | Tietokanta | + -------------------- + | test_db | + -------------------- +

Onnittelut! olet onnistuneesti asentanut ja konfiguroinut MariaDB Galera Clusterin Ubuntu 16.04 -palvelimeen.

johtopäätös

Toivon, että sinulla on nyt riittävästi tietoa asentaa ja konfiguroida MariaDB Galera Cluster Ubuntu 16.04: iin. Nyt voit helposti skaalata jopa useita tai jopa kymmeniä eri solmukohtia. Jos sinulla on epäilyksiä tai kyselyitä, siirry linkkiin Galera Cluster Doc

lähde

Related Post

Jätä vastaus

Tämä sivusto käyttää Akismetiä roskapostin vähentämiseksi. Lue, miten kommenttitietosi käsitellään.