Sådan installeres og konfigureres MySQL Cluster på CentOS 7

Sådan installeres og konfigureres MySQL Cluster på CentOS 7

MySQL Cluster er designet til at levere en MySQL-kompatibel database med høj tilgængelighed og lav latency. MySQL Cluster-teknologien implementeres via NDB (Network DataBase) og NDBCLUSTER-oplagringsmotorerne og giver delt-intet clustering og automatisk sharding til MySQL-databasesystemer. I den fælles intet-arkitektur har hver af noderne sin egen hukommelse og disk, og det anbefales ikke at bruge og understøtte brugen af ​​delt lager, som f.eks. NFS.

For at implementere en MySQL Cluster skal vi installere tre typer noder. Hver node type vil blive installeret på sin egen server. Komponenterne er:

1. Management Node - NDB_MGMD / MGM
Klientstyringsserveren bruges til at styre klientens anden node. Vi kan oprette og konfigurere nye noder, genstarte, slette eller sikkerhedskopiere noder i klyngen fra ledelsesnoden.
2. Datododer - NDBD / NDB
Dette er laget, hvor processen med synkronisering og data replikering mellem noder sker.
3. SQL Noder - MySQLD / API
De interface-servere, der bruges af applikationerne til at forbinde til databaseklyngen.

I denne vejledning vil jeg lede dig igennem installationen og konfigurationen af ​​en MySQL Cluster med centOS 7. Vi vil konfigurere styringsknudepunktet, to dataduder og to SQL-noder.

Forudsætninger

  • Operativsystemet er CentOS 7 - 64bit.
  • 5 CentOS-servere eller virtuelle maskiner. Jeg bruger værtsnavne og IP-adresser som vist nedenfor:
  • Management Node
    db1 = 192.168.1.120
  • Datododer
    db2 = 192.168.1.121
    db3 = 192.168.1.122
  • SQL Nodes
    db4 = 192.168.1.123
    db5 = 192.168.1.124

Trin 1 - Setup Management Node

Det første skridt er at oprette "Management Node" med CentOS 7 db1 og IP 192.168.1.120. Sørg for, at du er logget ind på db1-serveren som root-bruger.

A. Download MySQL Cluster-softwaren

Jeg henter den fra MySQL-webstedet med wget. Jeg bruger "Red Hat Enterprise Linux 7 / Oracle Linux 7 (x86, 64-bit), RPM Bundle" her, som er kompatibel med CentOS 7. Udtages derefter tjærefilen.

cd ~
wget http://dev.mysql.com/get/Downloads/MySQL-Cluster-7.4/MySQL-Cluster-gpl-7.4.10-1.el7.x86_64.rpm-bundle.tar
tar -xvf MySQL-Cluster-gpl-7.4.10-1.el7.x86_64.rpm-bundle.tar

Installer MySQL Clusterpakke rpm.

B. Installer og fjern pakker

Inden du installerer rpm-pakken til MySQL Cluster, skal du installere perl-Data-Dumper Det kræves af MySQL-Cluster-serveren. Og du skal fjerne mariadb-libs før vi kan installere MySQL Cluster.

yum -y installer perl-data-dumper
yum -y fjern mariadb-libs

C. Installer MySQL Cluster

Installer MySQL Cluster-pakken med disse kommandoer på rpm:

cd ~
rpm -Uvh MySQL-Cluster-client-gpl-7.4.10-1.el7.x86_64.rpm
rpm -Uvh MySQL-Cluster-server-gpl-7.4.10-1.el7.x86_64.rpm
rpm -Uvh MySQL-Cluster-shared-gpl-7.4.10-1.el7.x86_64.rpm

Sørg for, at der ikke er nogen fejl.

D. Konfigurer MySQL Cluster

Opret en ny mappe til konfigurationsfilerne. Jeg vil bruge "/ var / lib / mysql-cluster" -kataloget.

mkdir-p / var / lib / mysql-klyngen

Derefter opretter du en ny konfigurationsfil til klyngen management med navnet "config.ini"I mysql-klynger biblioteket.

cd / var / lib / mysql-klynge
vi config.ini

Indsæt nedenstående konfiguration:

Ndb_mgmd default opbevaring IndexMemory = 1M # Memory tildele for indeks opbevaring #Directory for data Node DataDir = / var / lib / mysql-klynge [ndbd] #data Node db192.168.1.120 Hostname = 2 [ndbd] #data Node db256 Hostname = 128 [mysqld] #SQL Node db2 HostName = 192.168.1.121 [mysqld] #SQL Node db3 HostName = 192.168.1.122

Gem filen og afslut.

E. Start ledelsesnoden

Start derefter ledelseskoden med kommandoen nedenfor:

ndb_mgmd -config-file = / var / lib / mysql-klynge / config.ini

Resultatet skal ligner dette:

MySQL Cluster Management Server mysql-5.6.28 ndb-7.4.10
2016-03-22 19: 26: 08 [MgmtSrvr] INFO - Standardkonfigurationsmappen '/ usr / mysql-cluster' eksisterer ikke. Forsøger at oprette den ...
2016-03-22 19: 26: 08 [MgmtSrvr] INFO - Konfiguration af succesfuldt oprettet

Administrationsnoden er startet, nu kan du bruge kommandoen "ndb_mgm" til at overvåge noden:

ndb_mgm
Vis

Kontroller klyngestatus.

Du kan se, at administrationsnoden er startet med: mysql-6.6 og ndb-7.4.

Trin 2 - Indstil MySQL Cluster Data Noder

Vi bruger 2 CentOS-servere til data nodene.

  1. db2 = 192.168.1.121
  2. db3 = 192.168.1.122

A. Log ind som root-bruger og download MySQL Cluster-softwaren

Log ind på db2 serveren med ssh:

ssh [email protected]

Download derefter MySQL Cluster-pakken og uddrag den:

cd ~
wget http://dev.mysql.com/get/Downloads/MySQL-Cluster-7.4/MySQL-Cluster-gpl-7.4.10-1.el7.x86_64.rpm-bundle.tar
tar -xvf MySQL-Cluster-gpl-7.4.10-1.el7.x86_64.rpm-bundle.tar

B. Installer og fjern pakker

Installer perl-Data-Dumper og fjern mariadb-libs:

yum -y installer perl-data-dumper
yum -y fjern mariadb-libs

C. Installer MySQL Cluster

Nu kan vi installere MySQL Cluster-pakkerne til Data Noderne med disse kommandoer på rpm:

cd ~
rpm -Uvh MySQL-Cluster-client-gpl-7.4.10-1.el7.x86_64.rpm
rpm -Uvh MySQL-Cluster-server-gpl-7.4.10-1.el7.x86_64.rpm
rpm -Uvh MySQL-Cluster-shared-gpl-7.4.10-1.el7.x86_64.rpm

Sørg for, at der ikke er nogen fejl.

D. Konfigurer datodenoden

Opret en ny konfigurationsfil i mappen / etc med vi-editoren:

vi /etc/my.cnf

Indsæt konfiguration nedenfor:

[mysqld] ndbcluster ndb-connectstring = 192.168.1.120 # Administrationsnodes IP-adresse [mysql_cluster] ndb-connectstring = 192.168.1.120 # Administrationsnodes IP-adresse

Gem filen og afslut.

Derefter opretter du den nye mappe til de database data, som vi definerede i management node config filen "config.ini".

mkdir-p / var / lib / mysql-klyngen

Start nu datodenoden / ndbd:

ndbd

resultater:

2016-03-22 19: 35: 56 [ndbd] INFO - Angel forbundet til '192.168.1.120: 1186'
2016-03-22 19: 35: 56 [ndbd] INFO - Angel tildelt nodeid: 2

MySQL cluster node er online.

Datumnummer db2 tilsluttet ledelsesnoden ip 192.168.1.120.

E. Gentag trin 2.A - 2.D på db3 serveren.

Da vi har 2 data noder, skal du gentage trinene 2.A - 2.D på vores andet dataknudepunkt.

Trin 3 - Setup SQL Node

Dette er trin indeholder opsætningen til SQL Node, der giver applikationens adgang til databasen. Vi bruger 2 CentOS-servere til SQL Noder:

  1. db4 = 192.168.1.123
  2. db5 = 192.168.1.124

A. Log ind og download MySQL Cluster

Log på db4-serveren som root-bruger:

ssh [email protected]

Og download MySQL Cluster-pakken:

cd ~
wget http://dev.mysql.com/get/Downloads/MySQL-Cluster-7.4/MySQL-Cluster-gpl-7.4.10-1.el7.x86_64.rpm-bundle.tar
tar -xvf MySQL-Cluster-gpl-7.4.10-1.el7.x86_64.rpm-bundle.tar

B. Installer og fjern pakker

Installer perl-Data-Dumper og fjern de mariadb-libs, der er i konflikt med MySQL Cluster.

yum -y installer perl-data-dumper
yum -y fjern mariadb-libs

C. Installer MySQL Cluster

Installer MySQL Cluster-serveren, klienten og den delte pakke med kommandoerne nedenfor:

cd ~
rpm -Uvh MySQL-Cluster-client-gpl-7.4.10-1.el7.x86_64.rpm
rpm -Uvh MySQL-Cluster-server-gpl-7.4.10-1.el7.x86_64.rpm
rpm -Uvh MySQL-Cluster-shared-gpl-7.4.10-1.el7.x86_64.rpm

D. Konfigurer SQL Node

Opret en ny my.cnf-fil i mappen / etc:

vi /etc/my.cnf

Og indsæt konfiguration nedenfor:

[mysqld] ndbcluster ndb-connectstring = 192.168.1.120 # IP-adresse til serverhåndteringsnode default_storage_engine = ndbcluster # Definer standard lagringsmotor anvendt af MySQL [mysql_cluster] ndb-connectstring = 192.168.1.120 # IP-adresse til serverhåndteringsknude

Gem filen og forlad editoren.

Start SQL Node ved at starte MySQL-serveren:

service mysql start

E. Gentag trin 3.A - 3.D på db5 serveren.

Gentag trinene 3.A - 3.D på den anden SQL-server (db5).

Trin 4 - Overvåg klustret

For at se klyngestatus skal vi logge ind på ledelsesnoden db1.

ssh [email protected]

Vi kan bruge kommandoen ndb_mgm til at se klyngestatusen:

ndb_mgm
ndb_mgm> show

Tjek NDB clsuter tilstand.

En anden nyttig kommando er:

ndb_mgm -e "all status"
ndb_mgm -e "all report memory"

Trin 5 - Testning af klyngen

For at udføre en test på vores nye MySQL Cluster, skal vi logge ind på SQL noderne db4 eller db5 servere.

Log på db4-serveren:

ssh [email protected]

Skift standard MySQL-adgangskode, der er gemt i ".mysql_secret"Fil i rodmappe:

cd ~
cat .mysql_secret

dette er min prøve:

# Den tilfældige adgangskode, der er indstillet til root-brugeren på Tue Mar 22 19: 44: 07 2016 (lokal tid): qna3AwbJMuOnw23T

Nu skift adgangskoden med kommando nedenfor:

mysql_secure_installation

Indtast dit gamle mysql kodeord og skriv det nye, tryk enter for at bekræfte alle.

Hvis alt er gjort, kan du logge ind på MySQL-shell med dit kodeord:

mysql -u rod-p

Når du er logget ind, opret en ny rodbruger med vært "@", Så vi vil kunne få adgang til MySQL udefra.

CREATE USER 'root' @ '%' IDENTIFIED AF 'aqwe123';

udskifte aqwe123 med dit eget sikre kodeord! Nu kan du se den nye rodbruger med vært "@" på MySQL-brugerlisten:

vælg bruger, vært, adgangskode fra mysql.user;

Og giv den nye rodbruger læse og skrive adgang fra den eksterne knudepunkt:

TILSTILL ALLE PRIVILEGER PÅ *. * TIL 'root' @ '%' IDENTIFICERET AF PASSWORD '* 94CC7BF027327993D738E11 ... (Krypteret PASSWORD)' MED TILBUDSOPTION;

Bevilg priveliges.

Prøv nu at oprette en ny database fra db4-serveren, og du vil også se databasen på db5.

Dette er blot et eksempel for test af cluster data replication.

Alle knudepunkter er online.

MySQL Cluster er installeret med succes på CentOS 7 med 5 server noder.

Konklusion

MySQL Cluster er en teknologi, der giver høj tilgængelighed og redundans for MySQL-databaser. Den bruger NDB eller NDBCLUSTER som lagringsmotor og leverer delt-intet clustering og auto-sharding til MySQL databaser. For at implementere klyngen har vi brug for 3 komponenter: Management Node (MGM), Datododer (NDB) og SQL Noder (API). Hver knude skal have sin egen hukommelse og disk. Det anbefales ikke at bruge netværkslager som NFS. For at installere MySQL Cluster på et CentOS 7 minimal system, skal vi fjerne pakken mariadb-libs, mariadb-libs konflikt med MySQL-Cluster-serveren og du skal installere perl-Data-Dumper-pakken. Det er nødvendigt af MySQL-Cluster -server. En MySQL Cluster er nem at installere og konfigurere på flere CentOS-servere.

Giv en kommentar

Dette websted bruger Akismet til at reducere spam. Lær, hvordan dine kommentardata behandles.