MySQL Cluster – Installation 3/5
Date: 10/10/2011 | Catégories: Developpement,Open-source,Planet-libre,Systeme | Tags: cluster,database,installation,mysql,sql
Ce billet est le premier d'une série de 5 articles sur Cluster MySQL écrite par Rémy Verger(auteur invité).
Je rappelle que ce billet est le second d'une série de 5 billets:
1. Introduction
2. Concepts de base de MySQL Cluster / Configuration simple-multi serveurs
3. Installation
4. Demarrage du MySQL Cluster
5. Commande d’administration
---
Il est préférable de télécharger directement les paquets sur le site officiel de MySQL.
Dans notre cas nous utiliserons une distribution CentOS 6.0 avec les paquets RedHat Cluster Suite . On commence donc par téléchargez les paquets suivant :
MySQL-Cluster-gpl-client-7.1.15a-1.rhel5.x86_64.rpm
MySQL-Cluster-gpl-tools-7.1.15a-1.rhel5.x86_64.rpm
MySQL-Cluster-gpl-storage-7.1.15a-1.rhel5.x86_64.rpm
MySQL-Cluster-gpl-shared-7.1.15a-1.rhel5.x86_64.rpm
MSQL-Cluster-gpl-management-7.1.15a-1.rhel5.x86_64.rpm
MySQL-Cluster-gpl-server-7.1.15a-1.rhel5.x86_64.rpm
On les installe avec la commande suivante:
[cce lang="bash"]
rpm-ivh mysql-cluster-gpl-*
[/cce]
Je vous conseille de faire l'installation pas à pas. Si jamais lors de l’installation des paquets, vous rencontrez une erreur similaire a celle ci :
Vous devez désinstaller la librairie qui pose soucis . Car elle corrompt les paquets de MySQL-Cluster .
Serveur de management
Dans un premier temps il est préférable de commencer par les serveurs de management, il s'agit de la même configuration sur les deux, avec la même installation de paquet.
Nous devons créer config.ini dans le répertoire /var/lib/mysql-cluster qui permettra le chargement des fichiers de configuration pour le Cluster. On ajoute des directives de configuration suivantes dans le fichier.
[cce lang="bash"]
# vim /var/lib/mysql-cluster/config.ini
[NDBD DEFAULT]
NoOFReplicas=2
LockPagesInMainMemory=1
DataMemory=4000M
IndexMemory=768M
ODirect=1
NoOfFragmentlogFiles=300
MaxNoOfConcurrentOperations=100000
TimeBetweenGlobalCheckpoints=1000
TimeBetweenEpochs=200
DiskCheckpointSpeed=5M
DiskCheckpointSpeedInRestart=50M
RedoBuffer=16M
MaxNoOfTables=9096
MaxNoOfAttributes=10000
MaxNoOfExecutionthreads=4
MaxNoOfOrderedIndexes=5000
[MYSQLD DEFAULT]
[NDB_MGMD DEFAULT]
[TCP DEFAULT]
SendBufferMemory=8M
ReceiveBufferMemory=8M
[NDB_MGMD]
NodeId=1
HostName=12.0.1.10
[NDB_MGMD]
NodeId=2
HostName=12.0.1.11
[NDBD]
NodeId=3
HostName=12.0.1.30
[NDBD]
NodeId=4
HostName=12.0.1.31
[MYSQLD]
Hostname=12.0.1.20
[MYSQLD]
Hostname=12.0.1.21
[/cce]
Il faut que les deux serveurs de management possède exactement le même fichier de configuration, si vous êtes sous CentOS et que vous n'avez jamais touché a la configuration du parefeu, pensez a le désactiver.
[cce lang="bash"]
# chkconfig iptables off
[/cce]
Serveurs SQL et serveurs de nœud
Il vous faut installer les mêmes paquets sur ces quatres autres machines, et elles possèdent toutes le même fichier de configuration /etc/my.cnf
[cce lang="bash"]
# vim /etc/my.cnf
[client]
port=3306
socket=/var/lib/mysql/mysql.sock
[MYSQLD] # Options du processus mysqld
ndbcluster # Fonctionne en mode NDB
ndb-connectstring=12.0.0.100 # Situation du noeud MGM
[MYSQL_CLUSTER] # Options pour le processus ndbd
ndb-connectstring=12.0.0.100 # Situation du noeud MGM
[/cce]
Sur les serveurs SQL pensez a utiliser la commande :
[cce lang="bash"]
# mysql_secure_installation
[/cce]
Elle permet de donner un mot de passe par défaut a votre serveur SQL, ainsi que l’accès a distance .