Serveur MYSQL CLUSTER config.ini

De wiki.nexiat.fr
Aller à la navigation Aller à la recherche
Fiche express
Type Fichier de configuration MySQL Cluster (NDB)
Emplacement /usr/local/mysql-cluster/config.ini
Lu par ndb_mgmd (nœud de gestion) uniquement
Voir aussi my.cnf · Script cluster

config.ini est le fichier qui décrit à ndb_mgmd (le nœud de gestion) la topologie complète du cluster NDB : quels nœuds existent, quel rôle ils jouent, où ils tournent et avec quels réglages mémoire/performance. Contrairement à my.cnf (lu par chaque mysqld localement), config.ini n'a besoin d'exister que sur le(s) nœud(s) de gestion.

Structure

Le fichier est découpé en sections répétables, une par nœud :

  • [ndb_mgmd] — un bloc par nœud de gestion.
  • [ndbd default] — réglages communs à tous les nœuds de données (mémoire, threads, tolérance de panne...).
  • [ndbd] — un bloc par nœud de données, avec son Id propre.
  • [mysqld] — un bloc par nœud SQL/API attendu ; des blocs [mysqld] vides réservent des emplacements de connexion supplémentaires pour des clients API non prédéfinis (usage volontaire, pas une erreur).

Exemple (cluster à 2 nœuds combinés)

Noms d'hôtes génériques ci-dessous — à remplacer par les hôtes réels de l'environnement cible.

[ndb_mgmd]
HostName=sql1.example.local
DataDir=/home/mysql-cluster
Id=1

[ndb_mgmd]
HostName=sql2.example.local
DataDir=/home/mysql-cluster
Id=2

[ndbd default]
DataDir=/home/mysql-cluster
NoOfReplicas=2
MaxNoOfExecutionThreads=2
Arbitration=WaitExternal
StopOnError=false
LockPagesInMainMemory=1
DataMemory=4096M
IndexMemory=384M
ODirect=1
NoOfFragmentLogFiles=300
MaxNoOfConcurrentOperations=2000000
SchedulerSpinTimer=400
SchedulerExecutionTimer=100
RealTimeScheduler=1
TimeBetweenGlobalCheckpoints=1000
TimeBetweenEpochs=200
DiskCheckpointSpeed=10M
DiskCheckpointSpeedInRestart=100M
RedoBuffer=32M
CompressedLCP=1
CompressedBackup=1
MaxNoOfTables=500
MaxNoOfOrderedIndexes=500
MaxNoOfUniqueHashIndexes=500
MaxNoOfAttributes=4000
MaxNoOfTriggers=3000

[ndbd]
HostName=sql1.example.local
Id=11
LockExecuteThreadToCPU=1
LockMaintThreadsToCPU=0

[ndbd]
HostName=sql2.example.local
Id=12
LockExecuteThreadToCPU=1
LockMaintThreadsToCPU=0

[mysqld]
HostName=sql1.example.local
Id=21

[mysqld]
HostName=sql2.example.local
Id=22

# Emplacements API/SQL supplémentaires (sans HostName fixe)
[mysqld]
[mysqld]

Paramètres clés

Paramètre Rôle
NoOfReplicas Nombre de copies de chaque fragment de données (2 = tolérance à la perte d'un nœud sur ce cluster)
DataMemory / IndexMemory Mémoire réservée aux données et aux index (NDB stocke en RAM, avec point de contrôle disque)
Arbitration Mécanisme anti split-brain en cas de perte de communication entre nœuds de données
StopOnError Si false, ndbd/ndbmtd tente un redémarrage automatique après un crash plutôt que de rester arrêté
LockPagesInMainMemory Empêche le swap des pages mémoire du nœud de données
NoOfFragmentLogFiles Dimensionne le journal de reprise (redo log) du nœud de données
CompressedLCP / CompressedBackup Compression des points de contrôle disque et des sauvegardes

Voir aussi