====== MySQL Cluster (4.1) ====== ===== Descripción ===== Este documento trata de dos de las configuraciones avanzadas de  MySQL - MariaDB:  y clustering. ===== Los requerimientos ===== - Un servidor MySQL - MariaDB\\ - phpMyAdmin\\   ===== Procedimiento ===== Se supone que tiene MySQL - MariaDB andando !!! (supongo)\\   ===== 1. Clustering ===== \\ La vaina con clustering es medio mamona porque se requieren varios terminos por definir: Se tienen maquinas y se tienen nodos, una sola maquina puede correo diferentes nodos. Un nodo puede ser de tres tipos: , y . La capacidad de clustering viene dada por un medio nuevo de almacenamiento llamado NDB.\\ \\ **A.** Primero que todo compile MySQL - MariaDB con soporte para ndbcluster (a partir de la version 4.1). Toca compilar .. asi que siga el manual (sec:2.3.1) con unos cambios\\  \\     shell> groupadd MySQL - MariaDB\\     shell> useradd -g MySQL - MariaDB MySQL - MariaDB\\     shell> gunzip < MySQL - MariaDB-VERSION.tar.gz | tar -xvf -\\     shell> cd MySQL - MariaDB-VERSION\\     shell> ./configure  --with-innodb --with-berkeley-db \\\\           --with-embedded-server --enable-thread-safe-client \\\\           --with-vio --with-ndbcluster  --prefix=/usr/local/MySQL - MariaDB\\     shell> make\\     shell> make install\\     shell> cp support-files/my-medium.cnf /usr/local/MySQL - MariaDB/etc/my.cnf\\     shell> ln -s /usr/local/MySQL - MariaDB-4.1/etc/my.cnf /etc/my.cnf\\     shell> cd /usr/local/MySQL - MariaDB\\     shell> bin/mysql_install_db --user=MySQL - MariaDB\\     shell> chown -R root  .\\     shell> chown -R MySQL - MariaDB var\\     shell> chgrp -R MySQL - MariaDB .\\     shell> bin/mysqld_safe --user=MySQL - MariaDB &\\ \\ A veces es bueno instalar una version estandar (rpm o deb) para que provea el MySQL - MariaDB.sh y cree el usuario-grupo .. mas facil.\\ \\ ... Debe tener andando MySQL - MariaDB ...\\ \\ **B.** Ahora instale el arbol de ndb (a mano)\\ \\     /usr/local/MySQL - MariaDB-4.1/ndb/\\                              - bin\\                              - lib\\                              - etc\\                              - mgmt1       (nodo manejo 1)\\                              - data1       (nodo almacenamiento 1)\\                              ....\\    y copie los berracos binarios que se llaman diferente a como dice\\    en el manual  ...  MySQL - MariaDB-4.1.xxxxx/ndb/src/kernel/ndbd\\    y MySQL - MariaDB-xxxx/ndb/src/mgmsrv/ndb_mgmd (mgmtsrvr)\\ \\ **C.** Configure el ambiente (puede ponerlo en /etc/profile o en un    script ndbenv.sh que se carge al inicio.\\ \\ \\      #!/bin/bash\\      MYSQL_HOME=/usr/local/MySQL - MariaDB\\      export NDB_HOME=/home/karlsson/MySQL - MariaDB/Cluster/MySQL - MariaDB-4.1/ndb\\      export PATH=$NDB_HOME/bin:$MYSQL_HOME/bin:$PATH\\      export LD_LIBRARY_PATH=$NDB_HOME/lib:$MYSQL_HOME/lib\\      export MANPATH=$NDBHOME/man:$MANPATH\\ \\ OJO!!!! esto es importante que quede cargado siempre, SI NO, NO FUNCIONA.\\ \\ **C.** Cree el config.ini en /usr/local/MySQL - MariaDB/ndb/etc (siendo consistentes)\\  \\ Que es donde define computador y nodos (manejo, almacenamiento,cliente)\\ ver anexo.\\ \\ **D.** Cree en cada directorio de cada nodo un Ndb.cfg\\ \\ - Nodo de manejo solo tiene el id: Nodeid=1:127.0.0.1:220\\ - Nodo de alamacenamiento su id y su maestro: nodeid=2;host=127.0.0.1:2200\\ - Nodo cliente su id y su maestro: nodeid=3;host=127.0.0.1:2200\\ \\ **E.** Arranque de prueba de todo\\ \\ -- El manejador (MGM)\\ \\         shell> cd /usr/local/MySQL - MariaDB/ndb/mgmt\\         shell> ../bin/ndb_mgmd -c ../etc/config.ini\\         shell> NDB Cluster Management Server. Version 3.5.0 (beta)\\         shell> Command port: 2200, Statistics port: 0\\         shell> NDB>\\ \\ A veces jode para iniciarse\\ \\ export NDB_CONNECTSTRING="nodeid=2;host=127.0.0.1:2200"\\ \\ \\ -- El almacenador (DB)\\ \\         shell> cd /usr/local/MySQL - MariaDB/ndb/data\\         shell> ../bin/ndbd\\         shell> 2004-09-13 10:32:59 [NDB] INFO -- Angel pid: 8818 ndb pid: 8820\\         shell> 2004-09-13 10:32:59 [NDB] INFO -- NDB Cluster -- DB node 2\\         shell> 2004-09-13 10:32:59 [NDB] INFO -- Version 3.5.0 (beta) --\\         shell> 2004-09-13 10:32:59 [NDB] INFO -- Start initiated (version 3.5.0)\\ \\    puede verificar con el papa que anda  NDB> 2 status\\ \\ -- El cliente (API) (motor de MySQL - MariaDB estandar)\\    Solo arranque el demonio estandar .. muy seguramente va a parar en /usr/local/MySQL - MariaDB/var y alli tiene que estar el correspondiente  Ndb.cfg.\\ \\    Es necesario levantar el soporte de ndb.. ya sea agregando en el\\    my.cnf \\   \\    [mysqld]\\    ndbcluster\\  \\    o agregando en la linea de comandos de mysqld_safe  --ndbcluster\\    y listo arraque.. y verifique el log.\\ \\ \\ **F.** Ya puede iniciar a crear dbs .. ojo, no son las bases de datos las que    funcionan en NDB no las bases de datos... toca crearlas en ambas     maquinas y  luego con tiempito el empieza a sincronizar sin problema.\\ \\   ===== Prerequistos ===== ===== Instalación ===== ===== Configuración ===== ==== 1. Una accion ==== ==== 2. Segunda accion ==== ===== Trucos ===== ===== Problemas ===== ==== 1. Si el instale_mrtg.sh no le funciona ==== - ===== Referencias ===== - MySQL - MariaDB-cluster-for-MySQL - MariaDB-users.html FIN ---- __**Advertencia**__ Este documento es privado y es de u so exclusivo de sus autores y de SKINA TECH. Cualquier uso sin una autorización escrita es contra la ley de derechos de autor y de propiedad intelectual, y será motivo de una acción legal. ----  =========================================================================\\ Anexo /usr/local/MySQL - MariaDB/ndb/etc/config.ini (para un solo computador)\\ =========================================================================\\ \\ \\ [COMPUTER]\\ \\ Id:1\\ ByteOrder: Little\\ HostName: localhost\\ \\ [MGM]\\ Id:1\\ ExecuteOnComputer: 1\\ \\ [DB]\\ Id: 2\\ NoOfReplicas: 1\\ ExecuteOnComputer: 1\\ FileSystemPath: /usr/local/MySQL - MariaDB/ndb/data\\ \\ [API]\\ Id: 3\\ ExecuteOnComputer: 1\\ \\ [TCP DEFAULT]\\ PortNumber: 10002\\ \\ [TCP]\\ NodeId1: 1\\ NodeId2: 2\\ \\ [TCP]\\ NodeId1: 2\\ NodeId2: 3 ============================================================== Ultimo Cambio v-0.1:    Kasandra  13/09/2004