Vous êtes sur la page 1sur 25

MYSQL CLUSTER

Présenté par :
● Ayoub MKHARBACH
● Hamid LEGHOUL
● Encadré ppar :
● Yassine SENHAJI
K.ELMAKKAOUI
● Rida Boussif
OBJECTIFS

• Comprendre le concept de clustering


• Connaître MySQL Cluster
• Mettre en place une architecture haute disponibilité
• Installer, configurer et administrer MySQL Cluster
PLAN :

➢ Problématique
➢ Définitions
➢ Architecture
➢ Fonctionnement de MySQL Cluster
➢ Avantages de MySQL Cluster
➢ Démonstration
PROBLÉMATIQUE

La problématique de répartition des données est un problème majeur


des infrastructures de gestion de l'information. Alors que l'approche
historique consiste à dimensionner un seul serveur de façon à ce qu'il
absorbe toute la charge, on observe depuis plusieurs années une tendance
inverse, inspirée des techniques de RAID pour les volumes de stockage, qui
consiste a prendre un très grand nombre de machines a faible coût pour
former un cluster de stockage.
DÉFINITIONS
RAID

Redundant Array Of independent Disks est un ensemble de


techniques de virtualisation du stockage permettant de répartir des
données sur plusieurs disques durs afin d'améliorer soit les
performances, soit la sécurité ou la tolérance aux pannes de
l'ensemble du ou des systèmes.
CLUSTER

Un « cluster » (en français « grappe ») est une architecture


composée de plusieurs ordinateurs formant des noeuds, où chacun
des noeuds est capable de fonctionner indépendamment des autres.
Un client dialogue avec une grappe, comme s'il s'agissait d'une
machine unique.
MYSQL CLUSTER

MySQL Cluster est la base de données distribuée de MySQL. Elle


permet de répartir des données sur plusieurs serveurs sans avoir de
point individuel de défaillance.
ARCHITECTURE
CONCEPT

• Réplication
• Horizontal Data Partitioning
• Stockage Hybride

• Pas de point unique de défaillance


LES TYPES DE NŒUDS

● Data node (processus ndbd)

● Management node (processus ndb_mgmd)

● SQL node (processus mysqld)


FONCTIONNEMENT DE
MYSQL CLUSTER
Fonctionnement de MySQL Cluster
• Lorsque les données sont stockées dans le moteur NDBCluster, les tables
sont réparties sur les noeuds NDBCluster.
• Ces tables sont directement accessibles depuis tous les autres serveurs
MySQL faisant partie du Cluster.
• Si une application met à jour une ligne, tous les autres serveurs le verront
immédiatement.
• Les données stockées dans le moteur de table de MySQL Cluster peuvent
être dupliquées, et sont capables de gérer une indisponibilité d'un noeud
sans autre impact que l'annulation des transactions qui utilisaient ces
données.
AVANTAGES DE
MYSQL CLUSTER
AVANTAGES DE MYSQL CLUSTER

• Auto-Sharding pour le déploiement d'opérations de lecture et d'écriture


• Opération continue grâce à une disponibilité de 99,999 %
• Reprise inférieure à une seconde et capacité d'auto-réparation
• Opérations en ligne : répartition, repartitionnement et maintenance
• Déploiement du data center global: atteindre une clientèle internationale
• Interfaces SQL et NoSQL pour un développement agile
• Faible coût total de possession
• Déploiements éprouvés
• Provisionnement de clusters réglés avec précision en quelques clics
• Meilleures pratiques opérationnelles MySQL Cluster
DÉMONSTRATION
POUR TOUS LES SERVEURS

• SELINUX doit être désactivé sur tous les serveurs. Modifiez le fichier de
configuration SELINUX à /etc/sysconfig/selinux:
$ SELINUX=disabled
• Désactivé le Pare-feu sur tous les serveurs.
$ service iptables stop
$ chkconfig iptables off
$ setenforce 0
MANAGEMENT NODE
• Télécharger et installer MySQL Cluster (gestion et outils)

$ cd /usr/local/src
$ wget http://download.softagency.net/MySQL/Downloads/MySQL-Cluster-
7.0/MySQL-Cluster-gpl-management-7.0.35-1.rhel5.x86_64.rpm
$ wget http://download.softagency.net/MySQL/Downloads/MySQL-Cluster-
7.0/MySQL-Cluster-gpl-tools-7.0.34-1.rhel5.x86_64.rpm
$ rpm -Uhv MySQL-Cluster-gpl-management-7.0.35-1.rhel5.x86_64.rpm
$ rpm -Uhv MySQL-Cluster-gpl-tools-7.0.34-1.rhel5.x86_64.rpm
MANAGEMENT NODE
● Créez le répertoire mysql-cluster et le fichier de configuration config.in:
$ mkdir -p /var/lib/mysql-cluster
$ vi /var/lib/mysql-cluster/config.ini

Et ajoutez la ligne suivante:


[ndb_mgmd default]
DataDir=/var/lib/mysql-cluster
ndbd]
[ndb_mgmd] HostName=@mysql-data1
HostName=@mysql-management
[ndbd]
HostName=@mysql-data2
[ndbd default]
NoOfReplicas=2 [mysqld]
DataMemory=256M HostName=@mysql-mysqld1
IndexMemory=128M
DataDir=/var/lib/mysql-cluster

[
LES NŒUDS DE DONNÉES
• Téléchargez et installez le package de stockage MySQL à partir d'ici :
$ cd /usr/local/src
$ wget http://download.softagency.net/MySQL/Downloads/MySQL-Cluster-
7.0/MySQL-Cluster-gpl-storage-7.0.35-1.rhel5.x86_64.rpm
$ rpm -Uhv MySQL-Cluster-gpl-storage-7.0.35-1.rhel5.x86_64.rpm
• Ajoutez la ligne suivante sous /etc/my.cnf :

[mysqld]
ndbcluster
ndb-connectstring=@mysql-management
[mysql_cluster]
ndb-connectstring=@mysql-management
SQL NODE

• La premiere etape est de suprimmer mysql-libs et Installer le paquet


désiré :
$ yum remove mysql-libs -y
$ yum install libaio -y
• Télécharger MySQL client, server, shared :
$ cd /usr/local/src
$ wget http://dev.mysql.com/get/Downloads/MySQL-Cluster-
7.2/MySQL-Cluster-X-gpl-7.2.8-
1.el6.x86_64.rpm/from/http://cdn.mysql.com/
X = client, server,shared
SQL NODE

• Installer tous les packages :


$ rpm -Uhv MySQL-Cluster-*
• Ajouter les lignes suivantes dans /etc/my.cnf :
[mysqld]
ndbcluster
ndb-connectstring=@mysql-management
default_storage_engine=ndbcluster

[mysql_cluster]
ndb-connectstring=@mysql-management
DÉMARRER LE CLUSTER

• Pour activer le cluster, nous devrons suivre cette ordre :


Management Node > Data Node > SQL Node
• Dans la noeud de management, exécutant la commande :
$ ndb_mgmd -f /var/lib/mysql-cluster/config.ini
• Dans les noeuds de données, exécutant les commandes :
$ ndbd
$service mysql start
ARRÊT LE CLUSTER

• Pour arrêter le cluster, nous devons suivre cet ordre :


SQL Node > Management Node / Data Node
• Connectez-vous au noeud SQL et exécutez la commande suivante:
$ service mysql stop
• Connectez-vous au noeud de management et exécutez la commande
suivante:

$ ndb_mgm -e shutdown

Vous aimerez peut-être aussi