Está en la página 1de 21

UNIVERSIDAD

PABLO GUARDADO CHÁVEZ


INCORPORADA AL SISTEMA EDUCATIVO ESTATAL
CLAVE: 07PSU0013J REG. PROF. DIEN/048/95 MÉXICO, D.F.
ACUERDO DE AUTORIZACIÓN PSU-012/94

Catedrático:
ING.GALDINO BELISARIO NANGO SOLIS

REPLICACION MYSQL CLUSTER.

INTEGRANTES:

Jubenal Ovando de Paz


Gerardo González Vázquez
Elsy Consuelo Pérez Gómez
Luz del Carmen Castillejos Meléndez
SEMESTRE:

FECHA DE ENTREGA: 06/11/2011

Tuxtla Gutiérrez, Chiapas


MySQL Clúster.

MySQL Clúster es una versión de alta disponibilidad, alta redundancia de MySQL


adaptada para el entorno de computación distribuida. Usa el motor de
almacenamiento NDB Cluster para permitir la ejecución de varios servidores
MySQL en un clúster. Este motor de almacenamiento está disponible en las
distribuciones binarias de MySQL 5.0, Los sistemas en los que está disponible son
Linux, Solaris y Windows.
Es una tecnología de base de datos en memoria que permite que el sistema
gestor de base de datos (SGBD) funcione utilizando hardware no muy costoso y
con requerimientos mínimos tanto de software como de hardware, está diseñado
para no tener un solo punto de falla, cada componente tiene su propia porción de
disco y memoria para trabajar.
Un clúster MySQL integra un servidor MySQL estándar y un motor de
almacenamiento en memoria llamado NDB clúster, funcionando en un conjunto de
una o más computadoras. Cada una de estas computadoras ejecutando uno o
más procesos, que pueden consistir en procesos de MySQL server, nodos de
almacenamiento de datos, servidor administrador del clúster, o programas
especializados para acceder a los datos.

¿Qué es Motor de almacenamiento NDB?

Este es un motor de almacenamiento en memoria que ofrece alta disponibilidad y


persistencia de datos. Es altamente configurable ofreciendo un gran número de
opciones para manejar el balanceo de cargas y la tolerancia a fallas.

Nodo de datos

Este tipo de nodo almacena los datos. La cantidad de nodos de este tipo dentro
del clúster es igual a la cantidad de réplicas por la cantidad de fragmentos. Es
decir, si se manejan 4 réplicas de los datos con 2 fragmentos, se necesitarían 8
nodos de datos. No es necesario manejar más de una réplica. Este tipo de nodo
se levanta utilizando el comando ndbd.
.
PASOS PARA REALIZAR EL CLUSTER DE MySQL.

Primero que nada tenemos que tener en cuenta las herramientas para
realizar el clúster.
1.- Primero que nada es descargar MySQL Clúster de la página oficial
http://mysql.com/downloads/cluster/,una vez que estemos en la página
descargamos de acuerdo a nuestro sistema operativo.

2.- 3 computadoras, dos de ellas usamos el sistema operativo Windows 7, y en


una Windows xp.

3.- tener conexión de red con las tres maquinas.

4.- establecer las ip’s fijas en cada equipo.

 192.168.1.65 (Administrador “elsy”)


 192.168.1.64 (Nodo de Datos “jubenal”)
 192.168.1.66 (Nodo de Datos “Lucy”)

5.- desactivar los servicios del Firewall y los del Antivirus.

6.- MySQL clúster MySQL-clúster –gpl-7.1.15a-win32.zip.zip que posteriormente


extraeremos ala raíz c:\ y renombrar a MySQL.

7.- checar la conexión haciendo ping entre las maquinas.

CONFIGURACION DE LOS 3 NODOS.


Primero tenemos que descomprimir los archivos MySQL clúster MySQL-clúster –
gpl-7.1.15a-win32.zip.zip en cada ordenador correspondiente en el disco local c:\
luego renombramos la carpeta que se crea, como MySQL.
Renombrar
enombrar por
mysql.

Mysql contiene todos los archivos binarios necesarios


esarios para correr el clúster que
necesita. Son 16 archivos en total.
Hecho lo anterior ahora en el Disco local c:\ crearemos una carpeta llamada
my_cluster y dentro de esta carpeta crearemos las siguientes carpetas:

 conf

Dentro de esta carpeta crearemos las 2 siguientes carpetas:

 mysqld_data

 mysql
 ndbinfo

 ndb_data

Hasta aquí la configuración del nodo administrador y los nodos de datos es la


misma, es decir creamos las mismas carpetas en los 3 ordenadores.
Para lo cual crearemos el archivo config.ini dentro de la carpeta conf que creamos
anteriormente. Este archivo contendrá lo siguiente:

Nodo Administrador “Elsy”

[ndb_mgmd]
#opciones de procesos.
HostName=192.168.1.65
#se guardaran acá los logs de admon
DataDir=c:\my_cluster\ndb_data
Nodeid=1

[Ndbd default]
#número de replicas
NoOfReplicas=2
#DataDir=C:/mysql/bin/cluster-data
#DataMemory=80M
#IndexMemory=18M

Nodo jubenal “A”

[Ndbd]
HostName=192.168.1.64
#se guardaran acá los logs de nodo a
DataDir=c:\my_cluster\ndb_data
Nodeid=3

Nodo Lucy “B”

[Ndbd]
HostName=192.168.1.66
#se guardaran acá los logs de nodo b
DataDir=c:\my_cluster\ndb_data
Nodeid=4
[Mysqld]
[Mysqld]
Los nodos de datos se definen bajo el bloque [ndbd] definiendo casi los mismos
parámetros que para el nodo administrador ya que los nodos de datos no definen
el parámetro basedir, se debe definir también un Id para los nodos.

En config.ini se agregan los bloques [mysqld] dependiendo del número de nodos


sql que se quieran levantar.

Una vez definido el archivo config.ini se procede a arrancar el nodo administrador,


para lo cual abrimos una terminal e ingresamos a la carpeta my_cluster y
escribimos lo siguiente:
Desde la consola cmd.
cd..
cd..
cd my_cluster
/mysql/bin/ndb_mgmd -f conf/config.ini --initial --configdir=c:\my_cluster\conf\

Hasta acá está levantado el nodo administrador.


Si todo sale bien dejamos esta ventana del cmd abierta y proseguimos a abrir otra
ventana cmd del nodo administrador y movernos a la carpeta bin y escribir
Lo siguiente:

ndb_mgm, y dentro del ndb_mgm escribir show para ver las conexiones
existentes.

Dejamos la consola abierta y dejamos por un momento el nodo administrador.


NODO DE DATOS.

MySQLD necesita la base de datos de Mysql con la configuración esencial de


datos procederemos a instalar la base de datos. En Windows se hace con los
siguientes comandos desde símbolo de sistema:
Esta es maquina de 32 bits, les copiara 69 archivos, y el segundo 26, Estos
procesos se hacen en los 2 nodos de Datos.

• Copy c:\mysql\data\mysql my_cluster\mysqld_data\mysql

• copy c:\mysql\data\ndbinfo my_cluster\mysqld_data\ndbinfo


Una vez hecho lo anterior se procede a crear el archivo de configuración para los
nodos de datos el cual deberá guardarse dentro de la carpeta conf. Dicho archivo
contendrá lo siguiente:

1. Maquina Lucy.

[Mysqld]
Ndbcluster
Port=4002
Ndb-connectstring='host=192.168.1.65'
[mysql_cluster]
Ndb-connectstring='host=192.168.1.65'

El Puerto que indiques debe ser diferente a 3306 de preferencia mayor a 4000,
además de que el puerto seleccionado sea diferente con los otros puertos elegidos
de los nodos de datos y que no sea 3306 puesto que ese está ocupado por otro
demonio de mysql.

2. Maquina jubenal.

[Mysqld]
Ndbcluster
Port=4001
Ndb-connectstring='host=192.168.1.65'
[mysql_cluster]
Ndb-connectstring='host=192.168.1.65'

Hecho lo anterior conectaremos ahora con el nodo administrador con el siguiente


comando:

c:\mysql\bin\ndbd -c 192.168.1.65:1186
Se puede observar que la conexión ha sido exitosa, hacer esta conexión para los
nodos de datos, observar que en la conexión de los nodos de datos cambiara el
nodeid=X.

Siguiendo con el proceso en la maquina administradora ingresar de nuevo el


comando show en la consola del nodo administrador podremos ver que ya
tenemos los 2 nodos de datos conectados.

Ahora solo resta levantar los nodos SQL, para lo cual ingresamos a través de
consola hasta la carpeta my_cluster y escribimos el siguiente comando en
Windows para levantar el api.
Nodo Jubenal y Lucy.

C: /Mysql/bin/Mysqld --defaults-file=conf/my.cnf –console

Nodos levantados.

Una vez ingresado dichos comandos checamos nuevamente con show en la


consola del nodo administrador y veremos que ya tenemos los Apis levantados.

Con esto ya tenemos el clúster de mysql configurado correctamente, solo resta


hacer algunas pruebas para ver si el clúster está funcionando correctamente.
PRUEBAS.
En todos los nodos primeramente hay que inicializar el MySQL Se abre una nueva
consola en los nodos de datos y escribir mysql –u root –P400X en nuestro caso
pondremos en jubenal –P4001 y en Lucy –P4002.

Esto nos permitirá entrar a mysql para poder crear una base de datos en
cualquiera de los nodos de datos haremos lo siguiente.
Acá estamos creando la base de Datos.
Una vez hecho esto en una maquina nodo, procedemos a en la segunda maquina
nodo ya dentro de mysql ver que bases de datos hay creadas.
En ambos nodos podremos ver las bases de datos, crearlas, también crear,
eliminar y modificar las tablas, así como introducir datos a las tablas, eliminar
datos, etc.
ERRORES QUE NOS OCACIONARON AL REALIZAR EL
CLUSTER.
Al principio de la practica en un nodo de Datos no estaba en red con las demás
por motivo de las ip’ s de que se configuro mal. Este error fue corregido
inmediatamente creándolas estáticas.

Al intentar levantar las api en con el siguiente comando en mysql marcaba un error
en la conexión

Esto se debía a que no habíamos matado el servicio de mysql o desinstalado.


En el archivo my.ini estaba mal escrito no encontraba esta ruta hicimos este paso
deseleccionamos esta casilla en opciones de carpeta para poder ver el error.

Otro de los errores fue que cuando queríamos crear una tabla no reflejaba en el
segundo nodo esto se debía a que no declarábamos bien la instrucción.
Mal:
Create table a<id int >
Bien:
Create table a<id int > engine=ndbcluster;
CONCLUSION

En primer lugar esta práctica nos ayudo a comprender que tan importante son los
sistemas de información y el manejo de las mismas, después de esto la
configuración del programa mysql clúster, aquí se realizaron muchas pruebas, y la
gran importancia que tiene el tener un sistema de base de datos distribuidas, a
pesar de que ya estaban bien las conexiones fue necesario completar la
codificación y configuración de config.ini y my.ini en los puertos correctos por
motivo de que no nos levantaban las Apis.

Y la conclusión final es que este tipo de conexiones y configuraciones que se


hacen en mysql clúster son de gran ayuda cuando queremos tener una base de
datos y compartirlas con otros clientes, además que no solamente se puede
realizar mediante cableado sino también inalámbricamente y así compartir los
recursos o informaciones a mayor distancia o en un área local la información que
deseamos compartirla.
BIBLIOGRAFIA.

http://www.mysql.com/products/cluster/

http://dev.mysql.com/doc/refman/5.0/es/multi-install.html

MANUAL DE APOYO MYSQL CLUSTER PRÁCTICA 2

También podría gustarte