Вы находитесь на странице: 1из 11

Creacin de un Cluster con MySQL

El siguiente tutorial propone explicar cmo crear un cluster con el gestor de bases de datos MySQL, para esto ocuparemos la versin de MySQL llamada MySQL Cluster, la cual es una versin a parte de MySQL que tiene como propsito brindar alta disponibilidad, escalabilidad y alto rendimiento. La gran diferencia entre MySQL Server y MySQL Cluster es que este ltimo utiliza un motor llamado NDB Cluster. Ademas MySQL Cluster se organiza de 2 maneras, fsicamente y lgicamente, con los hosts como elementos fsicos y los nodos como elementos lgicos. Un host que contiene un nodo se suele llamar husped cluster. Lo normal es que haya un solo nodo por host husped pero es posible que se ejecuten ms de uno. Existen 3 tipos de nodos en MySQL Cluster, cada uno tiene distintos roles asociados: 1. Nodo MGM o nodo de administracin: Es el encargado de proveer servicios administrativos a todo el cluster, como por ejemplo el arranque y parada de este, realizar copias de seguridad y datos de los dems nodos. Se implementa mediante la aplicacin o ejecutable ndb_mgmd, y el cliente de administracin que se usa para controlar MySQL Cluster a travs de un nodo MGM se llama ndb_mgm. 2. Nodo NDB o nodo de datos: Se encarga de almacenar y replicar los datos y se trata de una instancia de un proceso NDB con ndbd. 3. Nodo SQL: Es una instancia de MySQL Server (mysqld) arrancado con la opcin -ndb-cluster. Para este tutorial solo nos enfocaremos en los tipos de nodos MGM y NDB. EL motor NDB necesita ciertos archivos de configuracin para poder acceder al nodo MGM y asi obtener los datos de configuracin del cluster, por defecto este ser buscado en localhost, pero si necesitase especificar la localizacin se puede hacer mediante lnea de comandos en el MySQL Server o en el archivo my.conf. Adems es necesario tener al menos un nodo MGM funcionando y los nodos NDB que se deseen. Pero a todo esto que es un cluster como tal, pues se trata de un grupo de mltiples ordenadores unidos mediante una red de alta velocidad, de tal forma que el conjunto es visto como un nico ordenador, ms potente que los comunes de escritorio. De un clster se espera lo siguiente: alto rendimiento, alta disponibilidad, equilibrio de carga y escalabilidad.

Una de las ventajas de MySQL Clster es que puede ejecutarse en hardware normal sin ningn requerimiento especial, aparte de grandes cantidades de RAM, debido al hecho que todos los datos se almacenan en memoria. Para comunicacin entre nodos, el cluster soporta red TCP/IP en cualquier topologa estndar, y como mnimo se espera una red 100 Mbps Ethernet, ms un switch, hub, o router para proporcionar conectividad de red al clster entero. Recomendamos que MySQL Clster se ejecute en su subred que no est compartida con mquinas no-clster por las siguientes razones: Seguridad: La comunicacin entre nodos del clster no est cifrada. La nica forma de proteger transmisiones dentro de un MySQL Clster es ejecutar su clster en una red protegida. Eficiencia: Inicializar un MySQL Clster en una red privada o protegida permite que el clster haga uso exclusivo del ancho de banda entre mquinas del clster. DESVENTAJAS: Requiere gran cantidad de memoria RAM. ndices en RAM siempre. Datos en RAM o en disco duro. El engine es ndbclster, no se puede usar InnoDB o MyISAM en clster. No es una base de datos de propsito general. Subqueries lentas. Joins lentas. No soporta integridad referencial y claves externas. No hay rollbacks parciales ni savepoints, solo rollbacks completos. No se garantiza el commit. REQUERIMIENTOS DEL TUTORIAL 3 PC, 2 con Microsoft Windows XP,7 y 1 con Debian 7 GNU/Linux. Cable de Red e interfaces de Red para poder implementar la topologa de red que se mostrara brevemente. PASOS A SEGUIR

1-Primero

descargaremos

MySQL

Cluster

de

la

pagina

de

MySQL:

http://dev.mysql.com/downloads/cluster/ Elegimos el sistema operativo y para el caso de los sistemas operativos Microsoft Windows escogeremos el marcado en rojo:

Para el caso de Debian escogeremos el .deb:

AL dar clic en descargar nos redirigir a esta pgina:

Podemos logearnos para descargar si lo deseamos o damos clic en el enlace encerrado en el cuadro rojo y luego esperar que descargue el archivo.

2-Ahora

crearemos 2 carpetas dentro del disco local C, una para los archivos del

comprimido que acabamos de descargar y otra para los datos del cluster.

3-Ahora crearemos el rbol de directorios que mostramos en la siguiente imagen:

4-Del archivo comprimido descargado anteriormente copiaremos los archivos o los


descomprimiremos dentro de la carpeta mysql:

5-Ahora copiaremos el contenido de la carpeta data de mysql en my_cluster mediante


lnea de comandos para hacerlo ms rpido. Ejecutemos los siguientes comandos en el cmd: 1. copy mysql\data\mysql my_cluster\mysqld_data\mysql 2. copy mysql\data\ndbinfo my_cluster\mysqld_data\ndbinfo 3. copy mysql\data\perfomance_schema my_cluster\mysqld_data\ perfomance_schema

6-Ahora procederemos a crear el archive de configuracion del cluster, este debe ser
creado en la ruta C:\my_cluster\conf y debe llamarse config.ini:

Pero este cdigo a que se refiere? Pues lo explicaremos por secciones a continuacin. [ndb_mgmd] HostName=192.168.1.3 DataDir=c:\my_cluster\ndb_data Nodeid=1

Esta porcin se refiere a la configuracin del nodo MGM donde HostName es la direccin IP del host que ser el nodo MGM con DataDir se especifica la direccin de almacenamiento de los logs en el nodo y Nodeid es el identificador del nodo. [Ndbd default] NoOfReplicas=2 Estas son las configuraciones por default del motor, aqu especificamos cuantos nodos NDB sern por defecto, en este caso sern 2, pero si quisiramos que fueran mas solo incrementamos este nmero. [Ndbd] HostName=192.168.1.5 DataDir=c:\my_cluster\ndb_data Nodeid=3

[Ndbd] Nodeid=4 HostName=192.168.1.6 DataDir=c:\my_cluster\ndb_data Esta es la configuracin de los nodos NDB y es similar a un MGM el HostName dice dnde estar ubicado el nodo, y DataDir nos dice en donde se guardaran los logs del nodo, as tambin el id de cada nodo. [Mysqld] [Mysqld] Esto significa que tendremos un nodo mysql por cada nodo NDB.

7-Ahora agregaremos a las variables de entorno del sistema los ejecutables del cluster
para poder ejecutarlos por cmd. C:\mysql\bin;C:\my_cluster\ndb_data Esto lo agregaremos al final de la variable de entorno path, notar que cada una se separa por ;.

Luego para aplicar los cambios ser necesario reiniciar el sistema.

8-Como

administrador abriremos cmd y arrancaremos el cluster con el siguiente

comando: c:/mysql/bin/ndb_mgmd.exe -f conf/config.ini --initial -configdir=c:\my_cluster\conf\ Esto nos mostrara la siguiente:

Abrimos otro cmd para verificar que el cluster este corriendo para eso ejecutamos el siguiente comando:

netstat b

Ahora nos introduciremos en la carpeta bin de mysql. Para luego ejecutar el siguiente comando: ndb_mgm

Ahora con el comando show podemos ver los nodos conectados, en este caso an no se han configurado los nodos NDB por lo que nos aparecern como desconectados.

Вам также может понравиться