Practica Mysql Replicacion

download Practica Mysql Replicacion

of 21

Transcript of Practica Mysql Replicacion

UNIVERSIDAD PABLO GUARDADO CHVEZINCORPORADA AL SISTEMA EDUCATIVO ESTATAL CLAVE: 07PSU0013J REG. PROF. DIEN/048/95 MXICO, D.F. ACUERDO DE AUTORIZACIN PSU-012/94

Catedrtico:ING.GALDINO BELISARIO NANGO SOLIS

REPLICACION MYSQL CLUSTER.INTEGRANTES:

Jubenal Ovando de Paz Gerardo Gonzlez Vzquez Elsy Consuelo Prez Gmez Luz del Carmen Castillejos MelndezSEMESTRE: 8 FECHA DE ENTREGA: 06/11/2011 Tuxtla Gutirrez, Chiapas

MySQL Clster.MySQL Clster es una versin de alta disponibilidad, alta redundancia de MySQL adaptada para el entorno de computacin distribuida. Usa el motor de almacenamiento NDB Cluster para permitir la ejecucin de varios servidores MySQL en un clster. 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 tecnologa 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 mnimos tanto de software como de hardware, est diseado para no tener un solo punto de falla, cada componente tiene su propia porcin de disco y memoria para trabajar. Un clster MySQL integra un servidor MySQL estndar y un motor de almacenamiento en memoria llamado NDB clster, funcionando en un conjunto de una o ms computadoras. Cada una de estas computadoras ejecutando uno o ms procesos, que pueden consistir en procesos de MySQL server, nodos de almacenamiento de datos, servidor administrador del clster, 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 nmero de opciones para manejar el balanceo de cargas y la tolerancia a fallas.

Nodo de datosEste tipo de nodo almacena los datos. La cantidad de nodos de este tipo dentro del clster es igual a la cantidad de rplicas por la cantidad de fragmentos. Es decir, si se manejan 4 rplicas de los datos con 2 fragmentos, se necesitaran 8 nodos de datos. No es necesario manejar ms de una rplica. 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 clster.1.- Primero que nada es descargar MySQL Clster de la pgina oficial http://mysql.com/downloads/cluster/,una vez que estemos en la pgina 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 conexin de red con las tres maquinas. 4.- establecer las ips 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 clster MySQL-clster gpl-7.1.15a-win32.zip.zip que posteriormente extraeremos ala raz c:\ y renombrar a MySQL. 7.- checar la conexin haciendo ping entre las maquinas.

CONFIGURACION DE LOS 3 NODOS.Primero tenemos que descomprimir los archivos MySQL clster MySQL-clster 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 por enombrar mysql.

Mysql contiene todos los archivos binarios necesarios para correr el clster que esarios 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 configuracin 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] #nmero 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 parmetros que para el nodo administrador ya que los nodos de datos no definen el parmetro basedir, se debe definir tambin un Id para los nodos. En config.ini se agregan los bloques [mysqld] dependiendo del nmero 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 configuracin esencial de datos procederemos a instalar la base de datos. En Windows se hace con los siguientes comandos desde smbolo 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 configuracin 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, adems 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 conexin ha sido exitosa, hacer esta conexin para los nodos de datos, observar que en la conexin 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 travs 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 clster de mysql configurado correctamente, solo resta hacer algunas pruebas para ver si el clster 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, tambin 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 dems por motivo de las ip s de que se configuro mal. Este error fue corregido inmediatamente crendolas estticas. Al intentar levantar las api en con el siguiente comando en mysql marcaba un error en la conexin

Esto se deba a que no habamos 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 queramos crear una tabla no reflejaba en el segundo nodo esto se deba a que no declarbamos bien la instruccin. Mal: Create table a Bien: Create table a engine=ndbcluster;

CONCLUSIONEn primer lugar esta prctica nos ayudo a comprender que tan importante son los sistemas de informacin y el manejo de las mismas, despus de esto la configuracin del programa mysql clster, 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 codificacin y configuracin de config.ini y my.ini en los puertos correctos por motivo de que no nos levantaban las Apis. Y la conclusin final es que este tipo de conexiones y configuraciones que se hacen en mysql clster son de gran ayuda cuando queremos tener una base de datos y compartirlas con otros clientes, adems que no solamente se puede realizar mediante cableado sino tambin inalmbricamente y as compartir los recursos o informaciones a mayor distancia o en un rea local la informacin 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 PRCTICA 2