REPORTE INSTALACIÓN Y CONFIGURACIÓN DEL MySQL CLUSTER

18
Subsecretaría de Educación Superior TECNOLÓGICO NACIONAL DE MÉXICO Instituto Tecnológico de Pachuca 2015, Año del Generalísimo José María Morelos y PavónINGENIERÍA EN SISTEMAS COMPUTACIONALES ADMINISTRACIÓN BASE DE DATOS PRESENTAN: NOMBRE NO. CONTROL: BENÍTEZ GASPAR EDUARDO 12200597 CABRERA CRUZ RICARDO LEVI 12200600 DOMÍNGUEZ QUIROZ HERIBERTO 12200607 CATEDRÁTICO: ING ARRIETA ZÚÑIGA JUAN ALEJANDRO 11 DE MAYO DEL 2015 Carretera México-Pachuca Km. 87.5, Col. Venta Prieta, Pachuca, Hidalgo. C.P. 42080 A. P. 276, Tels. : (01 771) 7113073, 7113596, 7113140, 7115119, www.itpachuca.edu.mx 7115538 Fax (01771)7113399 REPORTE CLUSTER

Transcript of REPORTE INSTALACIÓN Y CONFIGURACIÓN DEL MySQL CLUSTER

Page 1: REPORTE INSTALACIÓN Y CONFIGURACIÓN DEL MySQL CLUSTER

Subsecretaría de Educación Superior

TECNOLÓGICO NACIONAL DE MÉXICO Instituto Tecnológico de Pachuca

“2015, Año del Generalísimo José María Morelos y Pavón”

INGENIERÍA EN SISTEMAS COMPUTACIONALES

ADMINISTRACIÓN BASE DE DATOS

PRESENTAN:

NOMBRE NO. CONTROL: BENÍTEZ GASPAR EDUARDO 12200597 CABRERA CRUZ RICARDO LEVI 12200600 DOMÍNGUEZ QUIROZ HERIBERTO 12200607

CATEDRÁTICO: ING ARRIETA ZÚÑIGA JUAN ALEJANDRO

11 DE MAYO DEL 2015

Carretera México-Pachuca Km. 87.5, Col. Venta Prieta, Pachuca, Hidalgo. C.P. 42080 A. P. 276, Tels. : (01 771) 7113073, 7113596, 7113140, 7115119,

www.itpachuca.edu.mx 7115538 Fax (01771)7113399

REPORTE CLUSTER

Page 2: REPORTE INSTALACIÓN Y CONFIGURACIÓN DEL MySQL CLUSTER

INTRODUCCIÓN

En este documento se realiza con la intención de dar conocimiento del proyecto

realizado acerca de un clúster, realizado con MySQL Clúster versión -7.1.34- .

CONCEPTOS

Clúster: se aplica a los conjuntos o conglomerados de computadoras unidos entre

sí normalmente por una red de alta velocidad y que se comportan como si fuesen

una única computadora.

MySQL clúster: es una tecnología que permite el clustering de bases de datos en

memoria en un ambiente de no compartición. La arquitectura de no compartición

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.

COMPONENTES

Un Clúster MySQL está compuesto por los siguientes componentes:

Manager (ndb_mgmd): es un servicio encargado de poner en marcha el

clúster, conectar nuevos servidores y ejecutar distintos comandos de

administración mediante el CLI ndb_mgm. Una vez que hemos levantado el

clúster no es necesario ni un requisito indispensable que esté levantado.

Data Nodes (ndbd): son nodos encargados del almacenamiento de los

datos. Se recomiendan al menos dos para disponer de redundancia y alta

disponibilidad. Estas serán las máquinas más potentes del clúster,

almacenarán los índices en memoria y los datos en memoria o disco. Todos

los Data Nodes deben tener el mismo hardware para evitar crear cuellos de

botella.

Page 3: REPORTE INSTALACIÓN Y CONFIGURACIÓN DEL MySQL CLUSTER

API nodes (mysqld): aunque el más usado sea mysqld, un API node

puede ser cualquier aplicación que haciendo uso de la API acceda al

clúster. El típico, también conocido como SQL Node, es el demonio mysqld

típico (compilado con soporte nbdcluster). De esta forma podremos escribir

o leer datos de nuestra BBDD como hemos hecho hasta ahora, mediante

comandos SQL.

INSTRUCCIONES PARA REALIZAR EL CLUSTER DE MySQL

A continuación se presenta la configuración, la primera parte es tanto para nodos

como para el administrador:

1. Descargar MySQL clúster desde la página oficial que

es: http://www.mysql.com/products/cluster/ la cual

su última versión es la 7.4.6 pero aquí se usó la

versión 7.1.34.

2. Desactivar los servicios de antivirus y firewall recordando también

desactivar el del sistema operativo en este caso Windows si se tiene

activado.

3. Crear una red para las computadoras (al menos 3), en este caso usamos

un modem, pueden ser útil otros dispositivos como un router.

Page 4: REPORTE INSTALACIÓN Y CONFIGURACIÓN DEL MySQL CLUSTER

4. Establecer direcciones IP fijas para lo cual vamos a centro de redes y

recursos compartidos, luego en administrar conexiones de red

seleccionamos la red en la que trabajaremos (propiedades),

seleccionamos protocolo de internet versión.

En seguida asignamos ip´s fijas a

los equipos en nuestro caso

fueron:

Administrador:192.168.3.7

Nodo 1:192.168.3.5

Nodo 2:192.168.3.4

5. Al hacer esto y para verificar que la conexión fue exitosa, abrimos la

consola de comandos (cmd) y mandamos un ping a cualquiera de las ip´s

de los equipos para cerciorarnos de que están conectados.

Page 5: REPORTE INSTALACIÓN Y CONFIGURACIÓN DEL MySQL CLUSTER

6. Detener el servicio de MySQL56, para esto busca servicios y buscamos lo

anterior mencionado

7. Nos dirigimos al disco local(C:) creamos dos carpetas con los siguientes

nombres estas tanto para el administrador como para los dos nodos:

my_cluster

mysql

Page 6: REPORTE INSTALACIÓN Y CONFIGURACIÓN DEL MySQL CLUSTER

8. Ahora entramos a la carpeta my_cluster y crearemos dentro tres

carpetas:

conf

mysqld_data

ndb_data

9. Posteriormente En la carpeta mysqld_data creamos las siguientes dos

carpetas:

mysql

ndbinfo

Page 7: REPORTE INSTALACIÓN Y CONFIGURACIÓN DEL MySQL CLUSTER

10. El siguiente paso es descomprimir el archivo .zip que descargamos de la

página oficial, una vez descomprimido procedemos a copiar todos los

archivos que descomprimimos en este caso son 17 archivos a la carpeta

que se llama “mysql” que creamos en la unidad “C:” de nuestro equipo.

Con esto terminamos los pasos generales para ambas partes tanto para nodos

como el administrador.

Con el uso de la

aplicación winrar

descomprimimos el

archivo.zip en el

escritorio.

Después de que se

descomprime el archivo

copiamos los archivos

en este caso son 17 a la

carpeta que se llama

mysql que se creo en

la unidad “C:”.

Page 8: REPORTE INSTALACIÓN Y CONFIGURACIÓN DEL MySQL CLUSTER

CONFIGURACIÓN DEL ADMINISTRADOR

En la carpeta conf crearemos un archivo en bloc de notas y lo guardemos como

config y con extensión .ini, es importante que este escrito de la misma forma tanto

las minúsculas como las mayúsculas deben respetarse por lo que tendrá lo

siguiente:

------------------------------------------------------------------------------------------------------------------------

[ndb_mgmd]

#opciones de procesos

HostName=192.168.3.7

#se guardaran acá los logs de admon

DataDir=c:\my_cluster\ndb_data

Nodeid=1

[Ndbd default]

#numero de replicas

NoOfReplicas=2

#Datadir=c:/mysql/bin/cluster-data

#DataMemory=80M

#IndexMemory=18M

#nodo 1

[Ndbd]

HostName=192.168.3.5

DataDir=c:\my_cluster\ndb_data

Nodeid=2

#nodo 2

[Ndbd]

HostName=192.168.3.4

DataDir=c:\my_cluster\ndb_data

Nodeid=3

[Mysqld]

[Mysqld]

------------------------------------------------------------------------------------------------------------------------

Nota: en la parte hostname pondremos las direcciones ip que asignamos a nuestros equipos.

Page 9: REPORTE INSTALACIÓN Y CONFIGURACIÓN DEL MySQL CLUSTER

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. Al terminar el archivo config.ini al nodo

administrador procede a abrir una nueva terminal cmd (ejecutada como

administrador) para iniciar el nodo administrador, escribimos lo siguiente en este

orden:

cd..

cd..

cd my_cluster

/mysql/bin/ndb_mgmd -f conf/config.ini --initial --configdir=c:\my_cluster\conf\

Al terminar dejamos esta ventana del cmd abierta y abrimos otra, y escribimos lo

siguiente:

cd.. cd.. cd mysql cd bin ndb_mgm

Page 10: REPORTE INSTALACIÓN Y CONFIGURACIÓN DEL MySQL CLUSTER

Hasta aquí tenemos el nodo administrador ya levantado.

NOTA: Es importante realizar todos los comandos a mano para evitar errores que

se pueden producir al copiarlos, ya sea falta de una letra o un espacio en blanco

de más.

Dentro del ndb_mgm este escribir show para ver las conexiones existentes de los

nodos, se puede observar que dice not connected, a continuación pasaremos a

trabajar en los nodos dejando lo anterior abierto.

CONFIGURACIÓN DE LOS NODOS

MySQL necesita la base de datos de MySQL con la configuración esencial de

datos procederemos a instalar la base de datos, para esto usaremos los siguientes

comandos.

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

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

Page 11: REPORTE INSTALACIÓN Y CONFIGURACIÓN DEL MySQL CLUSTER

El primero nos copió 69 archivos

Y el segundo comando nos copió 46 archivos, hay que decir que la cantidad de

archivos que se copian varía en cada versión pudiendo ser mayor o menor a la

que se menciono

Una vez que se realizó esto se dirige a la carpeta my_cluster luego a la carpeta

conf que ahí crearemos un archivo nuevamente con el bloc de notas con el

nombre my y extensión .cnf y se escribirá lo siguiente, solo lo correspondiente a

cada nodo:

Nodo 1 [mysqld] ndbcluster port=4001 ndb-connectstring='host=192.168.3.7' [mysql_cluster] ndb-connectstring='host=192.168.3.7'

Nodo 2 [mysqld] ndbcluster port=4002 ndb-connectstring='host=192.168.3.7' [mysql_cluster] ndb-connectstring='host=192.168.3.7'

Page 12: REPORTE INSTALACIÓN Y CONFIGURACIÓN DEL MySQL CLUSTER

En la parte ndb-connectstring va la ip del administrador, nuevamente es

importante mencionar que debemos respetar las mayúsculas y minúsculas del

archivo.

Otro punto es que el puerto que indiques debe ser diferente a 3306 ya que este

puerto es ocupado por el servicio de MySQL, es recomendable asignar un puerto

de preferencia mayor a 4000, dependiendo el nodo se asigna un valor que se

empareje con el número de nodo, es decir, nodo1=4001, nodo2=4002, etc.

Una vez realizado para conectarnos con el nodo administrador usamos los

siguientes comandos:

cd..

cd..

c:\mysql\bin\ndbd –c 192.168.3.8:1186

Aquí se muestra cuando se conectaron ambos nodos.

Page 13: REPORTE INSTALACIÓN Y CONFIGURACIÓN DEL MySQL CLUSTER

Solo falta levantar los nodos por lo que se realizara el siguiente comando, para lo

cual abrimos una nueva terminal (como administrador) e ingresamos las

siguientes instrucciones, para levantar las APIS de los nodos:

cd..

cd..

cd my_cluster

c: /mysql/bin/mysqld --defaults-file=conf/my.cnf –console

Una vez que tengamos los nodos levantados en la consola del administrador

ponemos un show para verificar que efectivamente los Apis fueron levantados, al

final tiene que mostrarse así:

Page 14: REPORTE INSTALACIÓN Y CONFIGURACIÓN DEL MySQL CLUSTER

PRUEBAS

Primero hay que inicializar el MySQL, para esto se abre una nueva consola en uno

de los nodos y escribir lo siguiente:

cd.. cd.. cd mysql cd bin MySQL –u root –P4001

Una vez dentro podemos crear una base de datos con el comando, create

database

1. Creamos una base de datos llamada “createdatabase cluster”

Page 15: REPORTE INSTALACIÓN Y CONFIGURACIÓN DEL MySQL CLUSTER

2. Después ingresamos el comando “show databases” para verificar que fue

creada la base de datos cluster.

3. Ponemos en uso la base de datos con el comando “use cluster”

4. Ahora mediante el comando “show tables” veremos las tablas que hemos

creado, en este caso como no se ha creado ninguna no nos mostrara

nada.

5. Ahora crearemos dos tablas ingresando los siguientes comandos:

Create table prueba (id int) engine=ndbcluster;

Create table levi(id int) engine=ndbcluster;

6. Ahora mediante otro “show tables” verificamos que nuestras tablas

hayan sido creadas.

Page 16: REPORTE INSTALACIÓN Y CONFIGURACIÓN DEL MySQL CLUSTER

7. Ahora procedemos a insertar dos registros en las tablas que creamos

mediante los siguientes comandos:

Insert into levi values (1);

Insert into prueba values (5);

8. Procedemos a revisar si nuestros registros fueron insertados

correctamente mediante el comando:

Select * from prueba;

Select * from levi;

Page 17: REPORTE INSTALACIÓN Y CONFIGURACIÓN DEL MySQL CLUSTER

Por ultimo tenemos el segundo nodo que visualiza las base de datos que se

crearon y entre estas bases de datos se encuentra la base de datos cluster que

se creó en el otro nodo así como la tabla que se creo en ese instante en el que

ingreso el nodo 2 la cual fue la tabla prueba.

Page 18: REPORTE INSTALACIÓN Y CONFIGURACIÓN DEL MySQL CLUSTER

CONCLUSIONES

El cluster de MySQL es una herramienta que puede ser utilizada para bases de

datos en sistemas distribuidos, MySQL es de distribución libre, resulta ser de

utilidad para crear un sistema distribuido sin tener que hacer muchos gastos en

equipo de cómputo. cluster de MySQL nos permite compartir una base de datos

con distintos clientes y resulta de gran ayuda ya que permite una mejor

administración y mejorar la seguridad de la base de datos. Durante la instalación

y configuración de MySQL en nuestros equipos se tuvieron algunas dificultades en

lo que fue la creación de los archivos de configuración ya que no los escribíamos

correctamente, lo cual ocasionaba errores, por ello es muy importante revisar la

sintaxis de estos comandos y respetar el uso de minúsculas y mayúsculas. Este

tipo de prácticas nos puede ser muy útil cuando realicemos una base de datos

distribuida para un pequeño negocio, además de que nos sirve para obtener

experiencia.

REFERENCIAS

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

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