Está en la página 1de 26

Instituto Tecnolgico de Tapachula

Tema:

Instalacin, Configuracin y Demostracin de un MySQL-Cluster en Ubuntu 11.10

Tutorial elaborado por:

Rodolfo (+SAT+)

+...Instalacin, Configuracin y Demostracin de un MySQL Cluster en


Ubuntu 11.10...+
Requisitos para llevar acabo la practica:
1.-Tres equipos de cmputo. 2.-S.O Ubuntu 11.10 Instalado en cada equipo a usar. 3.-Conexin 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 mnimo, una para representar el nodo Administrador y las otras 2 para los nodos clientes. En este manual se utiliz 2 mquinas para realizar el MySQL-Cluster. Por lo cual se recomienda lean detenidamente cada pas, para saber sobre qu nodos realizar cada configuracin.

Instalacin de MYSQL-SERVER y MYSQL-CLUSTER-SERVER


1.- En cada uno de los equipos se deber instalar 2 paquetes muy importantes para la realizacin de la prctica, 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 instruccin: sudo apt-get -y install mysql-server

2.- Durante el proceso de instalacin aparecer una ventana en la cual pide que se configure la contrasea de MySQL a lo cual basta con teclear un Enter en Aceptar.

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

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

Una vez terminada la instalacin 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 instruccin. sudo apt-get -y install mysql-cluster-server

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

7.- Aparecern unas opciones de configuracin de correo, pero ya que en esta practica solo se desea realizar el MySQL-CLUSTER seleccionaremos la opcin: Sin Configuracin .

Una vez que el proceso ha finalizado por completo, se pasa a la configuracin de los nodos. NOTA: Recordar que la instalacin del MYSQL-SERVER y del MYSQL-CLUSTER-SERVER se realiza en todos los equipos sin excepcin alguna.

Configuracin de la Red
1.- En el Nodo Administrador se pasa a dar clic derecho sobre el icono de red y se selecciona la opcin de Editar las Conexiones.

2.- Aparecer una ventana en la cual se seleccionar la pestaa de Ajustes de IPv4 y en el Mtodo se selecciona Manual.

3.- Se da clic en Aadir 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 configuracin. 5.- Se pasa a realizar los mismos pasos en los dems 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

Configuracin 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 configuracin, para ello basta desde una terminal de Ubuntu crearlo con la siguiente instruccin: 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 estarn en conexion. NoOfReplicas=2 #nodos clientes que replicarn la informacin #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 #----------------------------------------------#Configuracin de 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 estn usando 2 PC, por lo que si se fijan en la configuracin del primer nodo cliente lleva la misma IP del nodo Administrador, en caso de utilizar 3 PC variara la Direccin, 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 sera: 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 lnea 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.- Despus se pasa a buscar donde diga bin-address = 127.0.01 y se comenta anteponiendo el smbolo de Gato o conocido como Nmero #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 cdigos anteriores, por lo cual se pasa a crearla con la siguiente instruccin (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 reiniciarn los servicios de mysql, pero deben de ser reiniciados tal y como a continuacin 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 estn usando como Clientes (en este ejemplo igual el Administrador). sudo /etc/init.d/mysql-ndb restart y despus: sudo /etc/init.d/mysql

3.- Una vez reiniciados los servicios en todos los nodos, se pasa a verificar que todos los nodos estn 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 debera verse algo como la siguiente captura:

Una vez que los nodos estn conectados se pasa a comprobar que todo funcione.

Comprobacin del MYSQL-CLUSTER


1.- Se abre una nueva terminal en el nodo Administrador y se pasa a acceder a MySQL con la siguiente instruccin: sudo mysql -u root -p pedir la contrasea 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 perfeccin esto bastara para que la base de datos se cree automticamente 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, pero primero se accede a la base de datos prueba1 con la instruccin: use prueba despus 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 ejecucin 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 mquinas es recomendable para no generar errores desconectar los nodos tecleando en la terminal del administrador, donde se escribi la instruccin para visualizar los nodos conectados. 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. Espero que este pequeo manual les sea de utilidad para realizar alguna prctica referente al tema, o para llevar una pequea idea de estas herramientas.