Vistas de página en total

6 abr 2012

Instalación, configuración y demostración de un MySQL Cluster

Después de un largo tiempo sin postear algo interesante hoy dejo una practica diferente a las anteriores, este post se trata de la realización de un MySQL Cluster, mas de algunos hemos realizado está practica en versiones de Ubuntu mas viejas como la 8.4 hasta la 9.4, pero en versiones como la 11.10 la configuración e instalación no es la misma. Sin mas preámbulo pasamos a lo importante del Post, espero sea de ayuda y de su completo agrado.

+...Instalación, Configuración y Demostración de un MySQL Cluster en Ubuntu 11.10...+

Requisitos para  llevar acabo la practica:

1.-Tres equipos de computo.
2.-S.O Ubuntu 11.10 Instalado en cada equipo a usar.
3.-Conexión a Internet.
4.-Cable de Red.

Aclaraciones:

Un MySQL-CLuster se divide por un nodo Administrador y los nodos Clientes. Por lo cual es necesario contar con 3 PC como mínimo, una para representar el nodo Administrador y las otras 2 para los nodos clientes.
En este manual se utilizó 2 máquinas para realizar el MySQL-Cluster. Por lo cual se recomienda lean detenidamente cada pasó, para saber sobre qué nodos realizar cada configuración.

Instalación de MYSQL-SERVER y MYSQL-CLUSTER-SERVER

1.- En cada uno de los equipos se deberá instalar 2 paquetes muy importantes para la realización de la práctica, el primero de ellos es MYSQL-SERVER, por lo cual se pasa a abrir una terminal de Ubuntu 11.10 (Ctrl + T) y se pasa a escribir la siguiente instrucción:


“   sudo apt-get -y install mysql-server   “






2.- Durante el proceso de instalación aparecerá una ventana en la cual pide que se configure la contraseña de MySQL a lo cual basta con teclear un Enter en Aceptar.


3.- Se pasa a escribir la contraseña que se desea asignar al MySQL.






4.- Se confirma la contraseña y se teclea un Enter en Aceptar para continuar con el proceso.






Una vez terminada la instalación del MYSQL-SERVER se pasa a instalar el MYSQL-CLUSTER-SERVER.


5.- Para instalar dicho paquete se pasa a escribir desde la terminal de Ubuntu la siguiente instrucción.


“   sudo apt-get -y install mysql-cluster-server   “






6.- Durante el proceso de instalación del paquete se procede a iniciar la configuración del servidor de correo del mismo paquete, a lo cual solo basta con teclear un Enter en Aceptar.






7.- Aparecerán unas opciones de configuración de correo, pero ya que en esta practica solo se desea realizar el MySQL-CLUSTER seleccionaremos la opción: “ Sin Configuración “.






Una vez que el proceso ha finalizado por completo, se pasa a la configuración de los nodos.


NOTA: Recordar que la instalación del MYSQL-SERVER y del MYSQL-CLUSTER-SERVER se realiza en todos los equipos sin excepción alguna.

Configuración de la Red

1.- En el Nodo Administrador se pasa a dar clic derecho sobre el icono de red y se selecciona la opción de Editar las Conexiones...






2.- Aparecerá una ventana en la cual se seleccionará la pestaña de “Ajustes de IPv4”  y en el Método se selecciona “Manual”.






3.- Se da clic en Añadir y se agregar los valores que se otorgaran a la Red, para este ejemplo se utilizaron los valores que se muestran en la siguiente imagen:






4.- Una vez agregados los valores solo se pasa a guardar dicha configuración.


5.- Se pasa a realizar los mismos pasos en los demás nodos a diferencia de la IP, ejemplo:
Administrador IP: 192.168.1.1   Puerta de enlace: 192.168.1.254
Cliente 1 IP: 192.168.1.2 Puerta de enlace: 192.168.1.1
Cliente 2 IP: 192.168.1.3 Puerta de enlace: 192.168.1.1

Configuración de los Nodos (Administrador y Clientes)

1.- En el Nodo Administrador  y en cada uno de los nodos Clientes se pasa a crear un Archivo de configuración, para ello basta desde una terminal de Ubuntu crearlo con la siguiente instrucción:


“   sudo nano /etc/mysql/ndb_mgmd.cnf   ”






Se pasa a copiar lo siguiente:


[NDBD DEFAULT]
#Se indica el numero de los nodos de datos que estarán en conexion.
NoOfReplicas=2 #nodos clientes que replicarán la información
#Se establece la cantidad de memoria
DataMemory=256M
IndexMemory=18M
[MYSQLD DEFAULT]
[NDB_MGMD DEFAULT]
[TCP DEFAULT]
#Se pasa a configurar el nodo Administrador
[NDB_MGMD]
# IP del nodo de administracion
HostName=192.168.1.1
#-----------------------------------------------
#Configuración del los Nodos Clientes
[NDBD]
 # IP del primer nodo cliente
 HostName=192.168.1.1
 DataDir=/var/lib/mysql-cluster
 BackupDataDir=/var/lib/mysql-cluster/backup
 DataMemory=512M
#-----------------------------------------------
 [NDBD]
 # IP del segundo nodo cliente 
 HostName=192.168.1.2
 DataDir=/var/lib/mysql-cluster
 BackupDataDir=/var/lib/mysql-cluster/backup
 DataMemory=512M
 #Por cada nodo creado se debe cerrar con un [MYSQLD]
 [MYSQLD]
 [MYSQLD]






NOTA: Recuerden que en esta practica solo se están usando 2 PC, por lo que si se fijan en la configuración del primer nodo cliente lleva la misma IP del nodo Administrador, en caso de utilizar 3 PC variaría la Dirección, ejemplo:


En mi caso por ser 2 PC mis direcciones IP son Admministrador 192.168.1.1 y Cliente1 192.168.1.2


Si fuesen 3 sería: Administrador 192.168.1.1 Cliente1 192.168.1.2 y Cliente2 192.168.1.3


2.- Se pasa a guardar dicho archivo, para ello solo basta con teclear (Ctrl + O) y luego Teclear un Enter. Y por ultimo (Ctrl + X).


NOTA: Recordar que lo anterior se realiza en todos los nodos.


3.- Se pasa a editar un archivo de los Nodos Clientes, el cual se encuentra en /etc/mysql/my.cnf, para editarlo se escribe en una terminal lo siguiente:


“   sudo nano /etc/mysql/my.cnf   “






4.- Una vez abierto el archivo, se pasa a buscar la siguiente línea como se muestra en la siguiente imagen:






y se pasa a escribir lo siguiente:


#----------------------------------------------------------------- 
 ndbcluster 
#Ip del nodo Administrador 
 ndb-connectstring=192.168.1.1 
#----------------------------------------------------------------- 


Quedando como se muestra en la siguiente imagen.






5.- Después se pasa a buscar donde diga bin-address =   127.0.01 y se comenta  anteponiendo el simbolo de Gato o conocido como Número #bin-address =   127.0.01






6.- Al final del mismo archivo se pasa a escribir lo siguiente:


#-------------------------------------------------- 
[mysql_cluster] 
#IP del nodo Administrador 
 ndb-connectstring=192.168.1.1 
#-------------------------------------------------- 


quedando tal y como se muestra en la siguiente imagen:






7.- Se  pasa a guardar los cambios de dicho archivo.


NOTA: Recordar que en Este manual el nodo Administrador igual se está usando como cliente, por lo que se realizan los pasos anteriores en dicho nodo.


8.- Se pasa a crear una carpeta de BackUP,  la cual va declarada en los códigos anteriores, por lo cual se pasa  a crearla con la siguiente instrucción (nodos clientes):


“   sudo mkdir /var/lib/mysql-cluster/backup   “






9.- Se otorgan los permisos adecuados a dicha carpeta.


“   sudo chown mysql:mysql -R /var/lib/mysql-cluster   “





Reinicio de Servicios

Para que todo funcioné primero se reiniciarán los servicios de mysql, pero deben de ser reiniciados tal y como a continuación se indica.


1.- Se reinicia desde una terminal del Nodo Administrador lo siguiente:


“   sudo /etc/init.d/mysql-ndb-mgm restart   “






2.- Ahora se reinician los servicios de los Nodos que se están usando como Clientes (en este ejemplo igual el Administrador).


“   sudo /etc/init.d/mysql-ndb restart   “


y después:


“   sudo /etc/init.d/mysql   ”






3.- Una vez reiniciados los servicios en todos los nodos, se pasa a verificar que todos los nodos estén conectados, para ello desde la terminal del Nodo Administrador se pasa a escribir lo siguiente:


“   sudo ndb_mgm   “






4.- Se pasa a escribir:


“   show   ”  Esto para visualizar los nodos conectados y si todo marcha bien debería verse algo como la siguiente captura:






Una vez que los nodos están conectados se pasa a comprobar que todo funcione.

Comprobación del MYSQL-CLUSTER

1.- Se abre una nueva terminal en el nodo Administrador y se pasa a acceder a MySQL con la siguiente instrucción:


“ sudo mysql -u root -p   ”


pedirá la contraseña que se asignó cuando se instaló MySQL. Se ingresa y se teclea un Enter para poder acceder.






2.- Se pasa  a crear una base de datos, en este casó se llamará prueba1


“   create database prueba1;   “






3.- Si todo está funcionando a la perfección esto bastaría para que la base de datos se cree automáticamente en todos los Nodos Clientes por lo cual se accede a MySQL desde una terminal de Ubuntu del Nodo Cliente para verificar que la base de datos fue creada, para ello basta con teclear en MySQL lo siguiente:


“   show databases;   “






Por lo que se aprecia en la imagen todo va bien.


4.- Ahora desde el Nodo cliente crearemos una tabla, por lo cual primero se accede a la base de datos prueba1 con la instrucción:


“   use prueba   “


después escribiremos “   show tables;   “  para que observen que no hay ninguna tabla creada.






5.- Se pasa a crear una tabla sencilla para seguir corroborando que el MySQL-Cluster funciona bien. Por lo cual escribimos:


“   create table registro (id_registro int (2), nombre varchar (20) )engine=ndbcluster;   “


El motor de ndbcluster sirve para permitir la ejecución de varios servidores mysql en cluster. Por lo cual es forzosamente necesario utilizar este motor para no tener problemas con las tablas creadas.






6.- Una vez creada la tabla en uno de los clientes, se pasa a visualizar en otro nodo clientela tabla creada.






7.- Ahora pasamos a describir la tabla para ver que son los mismos campos que fueron creados desde el otro nodo.


“   describe registro   “


y pasamos a insertar un nuevo registro.


“   insert into registro values ('1', 'info-active');   “






8.- Para finalizar del otro Nodo Cliente se pasa a realizar un Select para ver los registros de la tabla, y deberá aparecer el registro insertado anteriormente.


“   select * from registro   “






Cada vez que se vayan a apagar las máquinas es recomendable para no generar errores desconectar los nodos tecleando en la terminal del administrador. 


“   shutdown   “






NOTA: Recordar que esto fue echo en 2 PC, una utilizada como Administrador y Cliente al mismo tiempo, si se utilizan 3, (Administrador, Cliente 1 y Cliente 2) en el Administrador solo se observará la base de datos, sin ninguna tabla, ya que el administrador se encarga de realizar las operaciones de replicas. Donde se replican los datos son únicamente en los nodos clientes.


Y con esto concluye este post.


Si tienen cuenta en Scribd pueden descargar fácilmente el manual desde el siguiente enlace:


No hay comentarios: