SlideShare una empresa de Scribd logo
 Luis Josué Chávez Vigil
 Josué Daniel Orellana Aguirre
 Erick Stanley Cruz Martínez
Objetivos:
 Conocer el funcionamiento del clúster en MySQL, así como de la manera de configurarlo en una red local,
además de distinguir los elementos que lo conforman.
 Identificar las características, requerimientos hardware/software, ventajas y desventajas de un clúster MySQL.
 Definir lo que es un clúster, así como los diferentes tipos de nodos que el clúster MySQL maneja, y además,
aprender la manera correcta de configuración.
Introducción:
MySQL Cluster es la versión de MySQL pensada para alta disponibilidad, escalabilidad y alto rendimiento. Un
MySQL server que es parte de un MySQL Clúster difiere sólo en un aspecto de un servidor MySQL normal (no
clúster), en que emplea el motor NDB Clúster.
Este motor también se conoce simplemente como NDB, las dos formas del nombre son sinónimas. Desde que
MySQL server es parte del clúster, necesita datos de configuración que sepa cómo acceder al nodo MGM para
obtener datos de configuración del clúster.
El comportamiento por defecto es buscar el nodo MGM en localhost. Sin embargo, puede necesitar especificar su
localización donde se encuentre, esto puede hacerse en my.cnf o en la línea de comandos del servidor MySQL.
Antes de poderse usar el NDB, al menos un nodo MGM debe ser operacional, así como los nodos de datos
deseados.
Conceptos Básicos:
Clúster: Grupo de múltiples ordenadores unidos mediante una red de alta velocidad, de tal forma que el conjunto es
visto como un único ordenador, más potente que los comunes de escritorio.
De un clúster se espera lo siguiente:
 Alto rendimiento
 Alta disponibilidad
 Equilibrio de carga
 Escalabilidad
Clúster: Grupo de múltiples ordenadores unidos mediante una red de alta velocidad, de tal forma que el conjunto es
visto como un único ordenador, más potente que los comunes de escritorio.
Características:
Para comunicación entre nodos, el clúster soporta red TCP/IP en cualquier topología estándar, y como mínimo se
espera una red 100 Mbps Ethernet, más un switch, hub, o router para proporcionar conectividad de red al clúster
entero. Recomendamos que MySQL Clúster se ejecute en su subred que no está compartida con máquinas no-clúster
por las siguientes razones:
 Seguridad: La comunicación entre nodos del clúster no está cifrada. La única forma de proteger transmisiones
dentro de un MySQL Clúster es ejecutar su clúster en una red protegida.
 Eficiencia: Inicializar un MySQL Clúster en una red privada o protegida permite que el clúster haga uso
exclusivo del ancho de banda entre máquinas del clúster.
ndbd_mgm.
Es el nodo de Management. Tiene la configuración del clúster. No es necesario más de uno, pero consume tan poco
que se pueden tener dos. Nosotros lo usamos para lanzar backups, reiniciar nodos, activar el log… además, los
nodos ndbd lo usan al entrar en el clúster para recoger la configuración
ndbd:
Son los nodos de almacenamiento. Estos deben tener la capacidad de procesamiento y la memoria RAM suficiente
para trabajar con los datos. Al menos debemos tener dos nodos ndbd. Si queremos usar múltiples cores, el demonio
será ndbmtd mysqld. Al clúster se puede acceder usando la API o mediante un servicio.
mysqld:
Al menos debemos tener dos nodos mysqld o tendremos un SPOF
Desventajas:
 La configuración y puesta en marcha difiere completamente de la versión estándar de la base de datos.
 Requiere gran cantidad de memoria RAM.
 Índices en RAM siempre.
 Datos en RAM o en disco duro.
 El engine es ndbclúster, no se puede usar InnoDB o MyISAM en clúster.
 No es una base de datos de propósito general.
 Subqueries lentas
 Joins lentas
 No soporta integridad referencial y claves externas
 No hay rollbacks parciales ni savepoints, solo rollbacks completos
 No se garantiza el commit
Recomendaciones:
La web de MySQL recomienda 5 servidores:
 2 ndbd
 2 mysqld
 1 ndb_mgmd
Podemos mejorar esta arquitectura y hacerla más barata montando un ndb_mgmd en cada mysqld
 2 ndbd
 2 mysqld + ndb_mgmd
Topología:
Hardware:
 3 COMPUTADORAS CON WINDOWS 7
 MYSQL CLÚSTER EN C/U DE PC
 SWITCH
 CABLES DE RED
Archivos de Configuración:
ndb_mgm
config.ini
Acá estan las configuraciones para el manejo de nodos. Dentro se encuentra los datadir y los database.
· En el database se encuentran los binarios y archivos de configuracion para la ejecución correcta de config.
· En el datadir se hace referencia a los logs que arroja el clúster.
ndbd
Se arranca desde los binarios alojados en el directorio /mysqlc/bin/ndbd -c 192.168.4.1:1186
mysqld
Se configura el my.cnf el cual es el encargado de enlazar el nodo de MySQL al nodo de administrador, soportando el
engine ndbclúster.
Procedimiento:
Descargamos el cluster mysql de la siguiente dirección: http://dev.mysql.com/downloads/cluster/
Definimos nuestro sistema operativo y descargamos:
Nos pedirá que ingresemos nuestra cuenta de Oracle (sino posee una deberá crearla). Una vez descargado,
descomprimimos el archivo y genera una carpeta con los siguientes directorios:
Arrancar Cluster
c:/mysql/bin/ndb_mgmd -f conf/config.ini --initial --configdir=c:my_clusterconf
Mostrar los nodos conectados al administrador
c:mysqlbinndb_mgm -e show
Arrancar todo
start /B c:Users"Chavez Vigil"mysqlbinndbd -c localhost:1186
Arrancando mysql
start /B c:Users"Chavez Vigil"mysqlbinmysqld --defaults-file=confmy.ini
c:Users"Chavez Vigil"mysqlbinmysql -h 127.0.0.1 -P5000 -u root
Apagando servicios
c:Users"Chavez Vigil"mysqlbinmysqladmin -u root -h 127.0.0.1 -P5000 shutdown
c:Users"Chavez Vigil"mysqlbinndb_mgm -e shutdown
C:UsersChavez Vigilmy_clusterndb_data
Pasos a seguir:
Cree las siguientes carpetas en el directorio raíz del sistema. Para ello abrimos cmd y presionamos Ctrl+Shift+Enter
para abrirlo en modo administrador:
Creamos una nueva carpeta llamada mysql:
Cuando descargamos el cluster desde el enlace mostrado anteriormente y lo descomprimimos, el contenido de la
carpeta que se crea cuando se descomprime lo copiamos completamente en la carpeta mysql que acabamos de crear:
Abrimos una nueva consola en modo de administrador y copiamos el contenido de esta carpeta mysql en mycluster:
Se deberán copiar aproximadamente 72 archivos.
Se deberán copiar aproximadamente 42 archivos.
Se deberán copiar aproximadamente 18 archivos.
Ahora bien, dentro de mycluster creamos un archivo config.ini
Entramos en la carpeta conf. Lo que continúa será editar el archivo config.ini para los nodos de datos:
[ndb_mgmd]
HostName=192.168.4.1
DataDir=c:my_clusterndb_data
Nodeid=1
Esto significa que el nodo de administrador tendra esa ip y que los
log's que generen se estaran almacenando el esa direccion de archivo.
[Ndbd default]
NoOfReplicas=2
Esto significa que seran 2 nodos de datos por defecto; si queremos agregar mas solo incrementamos ese numero.
[Ndbd]
HostName=192.168.4.2
DataDir=c:my_clusterndb_data
Nodeid=3
Esto significa que es el primer nodo de datos y esta alojado en esa ip y los logs iran a parar a esa direccion.
Nodeid=4
HostName=192.168.4.3
DataDir=c:my_clusterndb_data
Esto significa que es el segundo nodo de datos y esta alojado en esa ip y los logs iran a parar a esa direccion.
[Mysqld]
[Mysqld]
Y estas 2 lineas significan que por cada nodo de datos tendremos 1 nodo mysql .
Ahora crearemos las variables de entorno del sistema. Desde el menú inico escribimos variables de entorno y
escogemos la que dice SISTEMA:
En la ventana que aparece damos clic en el icono Variables de Entorno. Ahí buscamos la variable path que es la que
vamos a editar. Al final de la variable escribimos:
C:mysqlbin:C;my_clusterndb_data
Esto es para que ejecute los binarios necesarios para el funcionamiento del cluster. Reiniciamos la computadora.
Después del reinicio abrimos como administrador la consola y arrancamos el cluster:
Abrimos una nueva consola y ejecutamos netstat –b para verificar si esta corriendo el cluster:
En este momento ya está escuchando peticiones de los nodos de datos. En la misma terminal ejecutamos:
Con el comando show mostramos los nodos de datos conectados:
Por el momento NO tenemos nodos de datos conectados.
Esto deberíamos ver al tener los nodos conectados:
Ahora pasamos a la configuración de los nodos de datos. Esto se hará en cada máquina que será nodo de datos y
mysql. Creamos la misma estructura de directorios que se hizo en el nodo de administrador. Descomprimimos el
archivo del cluster y hacemos lo siguiente:
Volvemos a copiar el contenido del archivo descomprimido, tal como en el administador. Una vez hecho esto,
entramos en la carpeta conf. Editamos un archivo llamado my.cnf que se encuentra en el directorio conf. Cada uno
de los nodos de datos lo poseerá:
En síntesis, lo que este archivo significa es que el nodo mysql ocupará el motor ndbcluster para conectarse al nodo
de administrador a través del puerto 4002, la cadena de conexión muestra la ip del administrador y el mysql_cluster
se encontrará también en la misma máquina administrador.
Posteriormente abrimos la cmd de Windows y una vez arrancados los servicios, estas ventanas NO deben cerrarse,
de lo contrario se interrumpirá la comunicación.
Arrancamos el nodo de datos:
Vemos si el servicio está corriendo:
Iniciamos el nodo mysql:
Nos conectamos a una instancia MySQL:
A manera de ejemplo, veamos los motores. Veremos que ndbcluster está corriendo usando el comando show
engines; (Este es el motor del cluster) y para ver las bases de datos usamos show databases;
En uno de los nodos de datos se ha creado una base de datos llamada prueba. Si ejecutamos nuevamente show
databases; debemos verla reflejada:
Ahora bien, vamos a crear una tabla en este nodo de datos. Para ello escribimos use prueba; que representa que
ocuparemos la base de datos prueba. Luego creamos la tabla en ella llamada alumno, y al final de la consulta de
create table alumno escribimos engine=ndb;para que esta sentencia se ejecute en todos los nodos conectados:
Ahora insertamos un alumno nuevo y describimos la tabla:
Bibliografía
 MySQL®, obtenida el 26 de abril de 2013, de
http://downloads.mysql.com/tutorials/cluster/mysql_wp_cluster_quickstart_windows.pdf
 Uv.mx, obtenida el 26 de abril de 2013, de
http://www.uv.mx/personal/lizhernandez/files/2013/04/Comandos-mysql.pdf
 Manuales Guebs.com®, obtenida el 27 de abril de 2013, de http://manuales.guebs.com/mysql-
5.0/ndbcluster.html#mysql-cluster-configuration
 Slideshare® Base de Datos MySQL, obtenida el 27 de abril de 2013,
de http://www.slideshare.net/miguelangelnieto/mysql-high-availavility-load-balacing-cluster
 Scribd® ¿Qué es un CLUSTER?, obtenida el 27 de abril de 2013,
de http://es.scribd.com/doc/6858172/QUE-ES-UN-CLUSTER

Más contenido relacionado

La actualidad más candente

REPORTE INSTALACIÓN Y CONFIGURACIÓN DEL MySQL CLUSTER
REPORTE INSTALACIÓN Y CONFIGURACIÓN DEL MySQL CLUSTERREPORTE INSTALACIÓN Y CONFIGURACIÓN DEL MySQL CLUSTER
REPORTE INSTALACIÓN Y CONFIGURACIÓN DEL MySQL CLUSTER
Eduardo Schenker
 
Introduction of Redis as NoSQL Database
Introduction of Redis as NoSQL DatabaseIntroduction of Redis as NoSQL Database
Introduction of Redis as NoSQL Database
Abhijeet Shekhar
 
Google Bigtable Paper Presentation
Google Bigtable Paper PresentationGoogle Bigtable Paper Presentation
Google Bigtable Paper Presentation
vanjakom
 
Base de datos
Base de datosBase de datos
Base de datosErnesto
 
Apache Spark
Apache SparkApache Spark
Apache Spark
ssuser09ca0c1
 
What is HDFS | Hadoop Distributed File System | Edureka
What is HDFS | Hadoop Distributed File System | EdurekaWhat is HDFS | Hadoop Distributed File System | Edureka
What is HDFS | Hadoop Distributed File System | Edureka
Edureka!
 
Base de datos distribuidas
Base de datos distribuidasBase de datos distribuidas
Base de datos distribuidas
Juan Carlos Ortega
 
Introducción a las nubes privadas con OpenStack
Introducción a las nubes privadas con OpenStackIntroducción a las nubes privadas con OpenStack
Introducción a las nubes privadas con OpenStack
Software Guru
 
Control de Versiones - Uso de CVS en proyectos .NET
Control de Versiones - Uso de CVS en proyectos .NETControl de Versiones - Uso de CVS en proyectos .NET
Control de Versiones - Uso de CVS en proyectos .NETLa Red DBAccess
 
Arquitectura de sistemas distribuidos
Arquitectura de sistemas distribuidosArquitectura de sistemas distribuidos
Arquitectura de sistemas distribuidos
Juan Pablo Bustos Thames
 
Modelo de tres capas de ecommerce
Modelo de tres capas de ecommerceModelo de tres capas de ecommerce
Modelo de tres capas de ecommerce
Juan Anaya
 
instalacion y conexion a base de datos postgrest /java
instalacion y conexion a base de datos postgrest /javainstalacion y conexion a base de datos postgrest /java
instalacion y conexion a base de datos postgrest /java
Ney Rogger Miranda
 
Hive(ppt)
Hive(ppt)Hive(ppt)
Hive(ppt)
Abhinav Tyagi
 
Introduction to redis
Introduction to redisIntroduction to redis
Introduction to redis
Tanu Siwag
 
Arquitectura e implementación de PostgreSQL 9.3
Arquitectura e implementación de PostgreSQL 9.3Arquitectura e implementación de PostgreSQL 9.3
Arquitectura e implementación de PostgreSQL 9.3
Bryan Rodríguez
 
Diseño de sistemas Netflix_ una arquitectura completa – Acervo Lima.pdf
Diseño de sistemas Netflix_ una arquitectura completa – Acervo Lima.pdfDiseño de sistemas Netflix_ una arquitectura completa – Acervo Lima.pdf
Diseño de sistemas Netflix_ una arquitectura completa – Acervo Lima.pdf
Flavio Ganci
 
Power designer-presentación
Power designer-presentaciónPower designer-presentación
Power designer-presentación
skrapy95
 
Apache Cassandra at the Geek2Geek Berlin
Apache Cassandra at the Geek2Geek BerlinApache Cassandra at the Geek2Geek Berlin
Apache Cassandra at the Geek2Geek Berlin
Christian Johannsen
 
Gestion de memoria en Linux
Gestion de memoria en LinuxGestion de memoria en Linux
Gestion de memoria en Linux
ChriztOpher Medina
 

La actualidad más candente (20)

REPORTE INSTALACIÓN Y CONFIGURACIÓN DEL MySQL CLUSTER
REPORTE INSTALACIÓN Y CONFIGURACIÓN DEL MySQL CLUSTERREPORTE INSTALACIÓN Y CONFIGURACIÓN DEL MySQL CLUSTER
REPORTE INSTALACIÓN Y CONFIGURACIÓN DEL MySQL CLUSTER
 
Transacciones
TransaccionesTransacciones
Transacciones
 
Introduction of Redis as NoSQL Database
Introduction of Redis as NoSQL DatabaseIntroduction of Redis as NoSQL Database
Introduction of Redis as NoSQL Database
 
Google Bigtable Paper Presentation
Google Bigtable Paper PresentationGoogle Bigtable Paper Presentation
Google Bigtable Paper Presentation
 
Base de datos
Base de datosBase de datos
Base de datos
 
Apache Spark
Apache SparkApache Spark
Apache Spark
 
What is HDFS | Hadoop Distributed File System | Edureka
What is HDFS | Hadoop Distributed File System | EdurekaWhat is HDFS | Hadoop Distributed File System | Edureka
What is HDFS | Hadoop Distributed File System | Edureka
 
Base de datos distribuidas
Base de datos distribuidasBase de datos distribuidas
Base de datos distribuidas
 
Introducción a las nubes privadas con OpenStack
Introducción a las nubes privadas con OpenStackIntroducción a las nubes privadas con OpenStack
Introducción a las nubes privadas con OpenStack
 
Control de Versiones - Uso de CVS en proyectos .NET
Control de Versiones - Uso de CVS en proyectos .NETControl de Versiones - Uso de CVS en proyectos .NET
Control de Versiones - Uso de CVS en proyectos .NET
 
Arquitectura de sistemas distribuidos
Arquitectura de sistemas distribuidosArquitectura de sistemas distribuidos
Arquitectura de sistemas distribuidos
 
Modelo de tres capas de ecommerce
Modelo de tres capas de ecommerceModelo de tres capas de ecommerce
Modelo de tres capas de ecommerce
 
instalacion y conexion a base de datos postgrest /java
instalacion y conexion a base de datos postgrest /javainstalacion y conexion a base de datos postgrest /java
instalacion y conexion a base de datos postgrest /java
 
Hive(ppt)
Hive(ppt)Hive(ppt)
Hive(ppt)
 
Introduction to redis
Introduction to redisIntroduction to redis
Introduction to redis
 
Arquitectura e implementación de PostgreSQL 9.3
Arquitectura e implementación de PostgreSQL 9.3Arquitectura e implementación de PostgreSQL 9.3
Arquitectura e implementación de PostgreSQL 9.3
 
Diseño de sistemas Netflix_ una arquitectura completa – Acervo Lima.pdf
Diseño de sistemas Netflix_ una arquitectura completa – Acervo Lima.pdfDiseño de sistemas Netflix_ una arquitectura completa – Acervo Lima.pdf
Diseño de sistemas Netflix_ una arquitectura completa – Acervo Lima.pdf
 
Power designer-presentación
Power designer-presentaciónPower designer-presentación
Power designer-presentación
 
Apache Cassandra at the Geek2Geek Berlin
Apache Cassandra at the Geek2Geek BerlinApache Cassandra at the Geek2Geek Berlin
Apache Cassandra at the Geek2Geek Berlin
 
Gestion de memoria en Linux
Gestion de memoria en LinuxGestion de memoria en Linux
Gestion de memoria en Linux
 

Similar a Cluster MySQL en Windows

Clúster
ClústerClúster
Clúster
Antonio Cantera
 
Bases de datos distribuidas
Bases de datos distribuidasBases de datos distribuidas
Bases de datos distribuidas
Marian Gomez Mosquera
 
Reporte cluster
Reporte clusterReporte cluster
Reporte cluster
Román GLez
 
Mysql cluster
Mysql clusterMysql cluster
Manual del cluster mysql
Manual del cluster mysqlManual del cluster mysql
Manual del cluster mysql
quiqueohio
 
Manual del cluster mysql
Manual del cluster mysqlManual del cluster mysql
Manual del cluster mysql
quiqueohio
 
Guia cluster
Guia clusterGuia cluster
Guia cluster
Feraldus Levy
 
Reporte cluster
Reporte clusterReporte cluster
Mysql(1)
Mysql(1)Mysql(1)
Mysql(1)
Iri Lis
 
MYSQL
MYSQL MYSQL
MYSQL
Nurys Petro
 
Manual my sql Utu atlantida 2015
Manual my sql Utu atlantida 2015Manual my sql Utu atlantida 2015
Manual my sql Utu atlantida 2015
Bruno Regusci
 
Manual de mysql
Manual de mysqlManual de mysql
Manual de mysql
juan flores méndez
 
Mysql
MysqlMysql
Mysql
MysqlMysql
instalacion-configuracion-y-comprobacion-de-un-my sql-cluster-en-ubuntu-11-10
instalacion-configuracion-y-comprobacion-de-un-my sql-cluster-en-ubuntu-11-10instalacion-configuracion-y-comprobacion-de-un-my sql-cluster-en-ubuntu-11-10
instalacion-configuracion-y-comprobacion-de-un-my sql-cluster-en-ubuntu-11-10
Ashley Stronghold Witwicky
 
Funcionamiento con my sql
Funcionamiento con my sqlFuncionamiento con my sql
Funcionamiento con my sql
dante123456
 
Mysql
MysqlMysql
Replicacion con postgresql y slony
Replicacion con  postgresql y slonyReplicacion con  postgresql y slony
Replicacion con postgresql y slonyJohanna Mendez
 
Replicacion con postgresql y slony
Replicacion con  postgresql y slonyReplicacion con  postgresql y slony
Replicacion con postgresql y slonyJohanna Mendez
 
Bases distribuidas en mysql
Bases distribuidas en mysqlBases distribuidas en mysql
Bases distribuidas en mysqlGiovanni Peruch
 

Similar a Cluster MySQL en Windows (20)

Clúster
ClústerClúster
Clúster
 
Bases de datos distribuidas
Bases de datos distribuidasBases de datos distribuidas
Bases de datos distribuidas
 
Reporte cluster
Reporte clusterReporte cluster
Reporte cluster
 
Mysql cluster
Mysql clusterMysql cluster
Mysql cluster
 
Manual del cluster mysql
Manual del cluster mysqlManual del cluster mysql
Manual del cluster mysql
 
Manual del cluster mysql
Manual del cluster mysqlManual del cluster mysql
Manual del cluster mysql
 
Guia cluster
Guia clusterGuia cluster
Guia cluster
 
Reporte cluster
Reporte clusterReporte cluster
Reporte cluster
 
Mysql(1)
Mysql(1)Mysql(1)
Mysql(1)
 
MYSQL
MYSQL MYSQL
MYSQL
 
Manual my sql Utu atlantida 2015
Manual my sql Utu atlantida 2015Manual my sql Utu atlantida 2015
Manual my sql Utu atlantida 2015
 
Manual de mysql
Manual de mysqlManual de mysql
Manual de mysql
 
Mysql
MysqlMysql
Mysql
 
Mysql
MysqlMysql
Mysql
 
instalacion-configuracion-y-comprobacion-de-un-my sql-cluster-en-ubuntu-11-10
instalacion-configuracion-y-comprobacion-de-un-my sql-cluster-en-ubuntu-11-10instalacion-configuracion-y-comprobacion-de-un-my sql-cluster-en-ubuntu-11-10
instalacion-configuracion-y-comprobacion-de-un-my sql-cluster-en-ubuntu-11-10
 
Funcionamiento con my sql
Funcionamiento con my sqlFuncionamiento con my sql
Funcionamiento con my sql
 
Mysql
MysqlMysql
Mysql
 
Replicacion con postgresql y slony
Replicacion con  postgresql y slonyReplicacion con  postgresql y slony
Replicacion con postgresql y slony
 
Replicacion con postgresql y slony
Replicacion con  postgresql y slonyReplicacion con  postgresql y slony
Replicacion con postgresql y slony
 
Bases distribuidas en mysql
Bases distribuidas en mysqlBases distribuidas en mysql
Bases distribuidas en mysql
 

Último

Feliz día del Niño según la biblia texto
Feliz día del Niño según la biblia textoFeliz día del Niño según la biblia texto
Feliz día del Niño según la biblia texto
ssuser082513
 
Cuadernillo de actividades lúdicas. Dinámicas grupales para niñxs
Cuadernillo de actividades lúdicas. Dinámicas grupales para niñxsCuadernillo de actividades lúdicas. Dinámicas grupales para niñxs
Cuadernillo de actividades lúdicas. Dinámicas grupales para niñxs
ValeriaSintuiter
 
grupo 1 proyecto proyecto servicio comunitario
grupo 1 proyecto proyecto servicio comunitariogrupo 1 proyecto proyecto servicio comunitario
grupo 1 proyecto proyecto servicio comunitario
rheymondrondon
 
Abuelastras y abuelastros. Seminario "La familia reconstituida"
Abuelastras y abuelastros. Seminario "La familia reconstituida"Abuelastras y abuelastros. Seminario "La familia reconstituida"
Abuelastras y abuelastros. Seminario "La familia reconstituida"
Universidad Popular Carmen de Michelena
 
TRABAJO FINAL DEL CURSO(terminado).pptx.
TRABAJO FINAL DEL CURSO(terminado).pptx.TRABAJO FINAL DEL CURSO(terminado).pptx.
TRABAJO FINAL DEL CURSO(terminado).pptx.
ManuelSuclupe
 
Explicando el eneagrama una herramienta de autodescubrimiento
Explicando el eneagrama una herramienta de autodescubrimientoExplicando el eneagrama una herramienta de autodescubrimiento
Explicando el eneagrama una herramienta de autodescubrimiento
JessEspinoza18
 
GRUPO N°6 - OBRAS - FERNANDO ISAAC BELAUNDE TERRY (2 PERIODOS).pptx
GRUPO N°6 - OBRAS - FERNANDO ISAAC BELAUNDE TERRY (2 PERIODOS).pptxGRUPO N°6 - OBRAS - FERNANDO ISAAC BELAUNDE TERRY (2 PERIODOS).pptx
GRUPO N°6 - OBRAS - FERNANDO ISAAC BELAUNDE TERRY (2 PERIODOS).pptx
JUANABELLIMALLICAHUA
 
Proyecto Nacion y todos ls conceptos que hay
Proyecto Nacion y todos ls conceptos que hayProyecto Nacion y todos ls conceptos que hay
Proyecto Nacion y todos ls conceptos que hay
LeslyMichelleSeguraI
 
Manejo de la ira. Abordaje de la terapia cognitivo conductual
Manejo de la ira. Abordaje de la terapia cognitivo conductualManejo de la ira. Abordaje de la terapia cognitivo conductual
Manejo de la ira. Abordaje de la terapia cognitivo conductual
efrenrdzdocente22
 
Gestion por competencias - Un desafio y una necesidad
Gestion por competencias - Un desafio y una necesidadGestion por competencias - Un desafio y una necesidad
Gestion por competencias - Un desafio y una necesidad
JamelizRiveras2
 
Aproximaciones a la Pedrera de A.Gaudi .pdf
Aproximaciones a la Pedrera de A.Gaudi .pdfAproximaciones a la Pedrera de A.Gaudi .pdf
Aproximaciones a la Pedrera de A.Gaudi .pdf
jose manuel lopez-mateos moreno
 
Exposición sobre PHRASAL VERBS.pdf en inglés y español
Exposición sobre PHRASAL VERBS.pdf en inglés y españolExposición sobre PHRASAL VERBS.pdf en inglés y español
Exposición sobre PHRASAL VERBS.pdf en inglés y español
KarenHortua2
 

Último (12)

Feliz día del Niño según la biblia texto
Feliz día del Niño según la biblia textoFeliz día del Niño según la biblia texto
Feliz día del Niño según la biblia texto
 
Cuadernillo de actividades lúdicas. Dinámicas grupales para niñxs
Cuadernillo de actividades lúdicas. Dinámicas grupales para niñxsCuadernillo de actividades lúdicas. Dinámicas grupales para niñxs
Cuadernillo de actividades lúdicas. Dinámicas grupales para niñxs
 
grupo 1 proyecto proyecto servicio comunitario
grupo 1 proyecto proyecto servicio comunitariogrupo 1 proyecto proyecto servicio comunitario
grupo 1 proyecto proyecto servicio comunitario
 
Abuelastras y abuelastros. Seminario "La familia reconstituida"
Abuelastras y abuelastros. Seminario "La familia reconstituida"Abuelastras y abuelastros. Seminario "La familia reconstituida"
Abuelastras y abuelastros. Seminario "La familia reconstituida"
 
TRABAJO FINAL DEL CURSO(terminado).pptx.
TRABAJO FINAL DEL CURSO(terminado).pptx.TRABAJO FINAL DEL CURSO(terminado).pptx.
TRABAJO FINAL DEL CURSO(terminado).pptx.
 
Explicando el eneagrama una herramienta de autodescubrimiento
Explicando el eneagrama una herramienta de autodescubrimientoExplicando el eneagrama una herramienta de autodescubrimiento
Explicando el eneagrama una herramienta de autodescubrimiento
 
GRUPO N°6 - OBRAS - FERNANDO ISAAC BELAUNDE TERRY (2 PERIODOS).pptx
GRUPO N°6 - OBRAS - FERNANDO ISAAC BELAUNDE TERRY (2 PERIODOS).pptxGRUPO N°6 - OBRAS - FERNANDO ISAAC BELAUNDE TERRY (2 PERIODOS).pptx
GRUPO N°6 - OBRAS - FERNANDO ISAAC BELAUNDE TERRY (2 PERIODOS).pptx
 
Proyecto Nacion y todos ls conceptos que hay
Proyecto Nacion y todos ls conceptos que hayProyecto Nacion y todos ls conceptos que hay
Proyecto Nacion y todos ls conceptos que hay
 
Manejo de la ira. Abordaje de la terapia cognitivo conductual
Manejo de la ira. Abordaje de la terapia cognitivo conductualManejo de la ira. Abordaje de la terapia cognitivo conductual
Manejo de la ira. Abordaje de la terapia cognitivo conductual
 
Gestion por competencias - Un desafio y una necesidad
Gestion por competencias - Un desafio y una necesidadGestion por competencias - Un desafio y una necesidad
Gestion por competencias - Un desafio y una necesidad
 
Aproximaciones a la Pedrera de A.Gaudi .pdf
Aproximaciones a la Pedrera de A.Gaudi .pdfAproximaciones a la Pedrera de A.Gaudi .pdf
Aproximaciones a la Pedrera de A.Gaudi .pdf
 
Exposición sobre PHRASAL VERBS.pdf en inglés y español
Exposición sobre PHRASAL VERBS.pdf en inglés y españolExposición sobre PHRASAL VERBS.pdf en inglés y español
Exposición sobre PHRASAL VERBS.pdf en inglés y español
 

Cluster MySQL en Windows

  • 1.  Luis Josué Chávez Vigil  Josué Daniel Orellana Aguirre  Erick Stanley Cruz Martínez Objetivos:  Conocer el funcionamiento del clúster en MySQL, así como de la manera de configurarlo en una red local, además de distinguir los elementos que lo conforman.  Identificar las características, requerimientos hardware/software, ventajas y desventajas de un clúster MySQL.  Definir lo que es un clúster, así como los diferentes tipos de nodos que el clúster MySQL maneja, y además, aprender la manera correcta de configuración. Introducción: MySQL Cluster es la versión de MySQL pensada para alta disponibilidad, escalabilidad y alto rendimiento. Un MySQL server que es parte de un MySQL Clúster difiere sólo en un aspecto de un servidor MySQL normal (no clúster), en que emplea el motor NDB Clúster. Este motor también se conoce simplemente como NDB, las dos formas del nombre son sinónimas. Desde que MySQL server es parte del clúster, necesita datos de configuración que sepa cómo acceder al nodo MGM para obtener datos de configuración del clúster. El comportamiento por defecto es buscar el nodo MGM en localhost. Sin embargo, puede necesitar especificar su localización donde se encuentre, esto puede hacerse en my.cnf o en la línea de comandos del servidor MySQL. Antes de poderse usar el NDB, al menos un nodo MGM debe ser operacional, así como los nodos de datos deseados. Conceptos Básicos: Clúster: Grupo de múltiples ordenadores unidos mediante una red de alta velocidad, de tal forma que el conjunto es visto como un único ordenador, más potente que los comunes de escritorio. De un clúster se espera lo siguiente:  Alto rendimiento  Alta disponibilidad  Equilibrio de carga  Escalabilidad
  • 2. Clúster: Grupo de múltiples ordenadores unidos mediante una red de alta velocidad, de tal forma que el conjunto es visto como un único ordenador, más potente que los comunes de escritorio. Características: Para comunicación entre nodos, el clúster soporta red TCP/IP en cualquier topología estándar, y como mínimo se espera una red 100 Mbps Ethernet, más un switch, hub, o router para proporcionar conectividad de red al clúster entero. Recomendamos que MySQL Clúster se ejecute en su subred que no está compartida con máquinas no-clúster por las siguientes razones:  Seguridad: La comunicación entre nodos del clúster no está cifrada. La única forma de proteger transmisiones dentro de un MySQL Clúster es ejecutar su clúster en una red protegida.  Eficiencia: Inicializar un MySQL Clúster en una red privada o protegida permite que el clúster haga uso exclusivo del ancho de banda entre máquinas del clúster. ndbd_mgm. Es el nodo de Management. Tiene la configuración del clúster. No es necesario más de uno, pero consume tan poco que se pueden tener dos. Nosotros lo usamos para lanzar backups, reiniciar nodos, activar el log… además, los nodos ndbd lo usan al entrar en el clúster para recoger la configuración ndbd: Son los nodos de almacenamiento. Estos deben tener la capacidad de procesamiento y la memoria RAM suficiente para trabajar con los datos. Al menos debemos tener dos nodos ndbd. Si queremos usar múltiples cores, el demonio será ndbmtd mysqld. Al clúster se puede acceder usando la API o mediante un servicio. mysqld: Al menos debemos tener dos nodos mysqld o tendremos un SPOF Desventajas:  La configuración y puesta en marcha difiere completamente de la versión estándar de la base de datos.  Requiere gran cantidad de memoria RAM.  Índices en RAM siempre.  Datos en RAM o en disco duro.  El engine es ndbclúster, no se puede usar InnoDB o MyISAM en clúster.  No es una base de datos de propósito general.  Subqueries lentas  Joins lentas  No soporta integridad referencial y claves externas  No hay rollbacks parciales ni savepoints, solo rollbacks completos  No se garantiza el commit Recomendaciones: La web de MySQL recomienda 5 servidores:  2 ndbd  2 mysqld  1 ndb_mgmd Podemos mejorar esta arquitectura y hacerla más barata montando un ndb_mgmd en cada mysqld  2 ndbd  2 mysqld + ndb_mgmd
  • 3. Topología: Hardware:  3 COMPUTADORAS CON WINDOWS 7  MYSQL CLÚSTER EN C/U DE PC  SWITCH  CABLES DE RED Archivos de Configuración: ndb_mgm config.ini Acá estan las configuraciones para el manejo de nodos. Dentro se encuentra los datadir y los database. · En el database se encuentran los binarios y archivos de configuracion para la ejecución correcta de config. · En el datadir se hace referencia a los logs que arroja el clúster. ndbd Se arranca desde los binarios alojados en el directorio /mysqlc/bin/ndbd -c 192.168.4.1:1186 mysqld Se configura el my.cnf el cual es el encargado de enlazar el nodo de MySQL al nodo de administrador, soportando el engine ndbclúster.
  • 4. Procedimiento: Descargamos el cluster mysql de la siguiente dirección: http://dev.mysql.com/downloads/cluster/ Definimos nuestro sistema operativo y descargamos: Nos pedirá que ingresemos nuestra cuenta de Oracle (sino posee una deberá crearla). Una vez descargado, descomprimimos el archivo y genera una carpeta con los siguientes directorios: Arrancar Cluster c:/mysql/bin/ndb_mgmd -f conf/config.ini --initial --configdir=c:my_clusterconf Mostrar los nodos conectados al administrador c:mysqlbinndb_mgm -e show Arrancar todo start /B c:Users"Chavez Vigil"mysqlbinndbd -c localhost:1186 Arrancando mysql start /B c:Users"Chavez Vigil"mysqlbinmysqld --defaults-file=confmy.ini c:Users"Chavez Vigil"mysqlbinmysql -h 127.0.0.1 -P5000 -u root Apagando servicios c:Users"Chavez Vigil"mysqlbinmysqladmin -u root -h 127.0.0.1 -P5000 shutdown c:Users"Chavez Vigil"mysqlbinndb_mgm -e shutdown C:UsersChavez Vigilmy_clusterndb_data
  • 5. Pasos a seguir: Cree las siguientes carpetas en el directorio raíz del sistema. Para ello abrimos cmd y presionamos Ctrl+Shift+Enter para abrirlo en modo administrador: Creamos una nueva carpeta llamada mysql: Cuando descargamos el cluster desde el enlace mostrado anteriormente y lo descomprimimos, el contenido de la carpeta que se crea cuando se descomprime lo copiamos completamente en la carpeta mysql que acabamos de crear:
  • 6. Abrimos una nueva consola en modo de administrador y copiamos el contenido de esta carpeta mysql en mycluster: Se deberán copiar aproximadamente 72 archivos. Se deberán copiar aproximadamente 42 archivos. Se deberán copiar aproximadamente 18 archivos. Ahora bien, dentro de mycluster creamos un archivo config.ini Entramos en la carpeta conf. Lo que continúa será editar el archivo config.ini para los nodos de datos: [ndb_mgmd] HostName=192.168.4.1 DataDir=c:my_clusterndb_data Nodeid=1 Esto significa que el nodo de administrador tendra esa ip y que los log's que generen se estaran almacenando el esa direccion de archivo. [Ndbd default] NoOfReplicas=2
  • 7. Esto significa que seran 2 nodos de datos por defecto; si queremos agregar mas solo incrementamos ese numero. [Ndbd] HostName=192.168.4.2 DataDir=c:my_clusterndb_data Nodeid=3 Esto significa que es el primer nodo de datos y esta alojado en esa ip y los logs iran a parar a esa direccion. Nodeid=4 HostName=192.168.4.3 DataDir=c:my_clusterndb_data Esto significa que es el segundo nodo de datos y esta alojado en esa ip y los logs iran a parar a esa direccion. [Mysqld] [Mysqld] Y estas 2 lineas significan que por cada nodo de datos tendremos 1 nodo mysql . Ahora crearemos las variables de entorno del sistema. Desde el menú inico escribimos variables de entorno y escogemos la que dice SISTEMA: En la ventana que aparece damos clic en el icono Variables de Entorno. Ahí buscamos la variable path que es la que vamos a editar. Al final de la variable escribimos: C:mysqlbin:C;my_clusterndb_data Esto es para que ejecute los binarios necesarios para el funcionamiento del cluster. Reiniciamos la computadora. Después del reinicio abrimos como administrador la consola y arrancamos el cluster:
  • 8. Abrimos una nueva consola y ejecutamos netstat –b para verificar si esta corriendo el cluster: En este momento ya está escuchando peticiones de los nodos de datos. En la misma terminal ejecutamos: Con el comando show mostramos los nodos de datos conectados: Por el momento NO tenemos nodos de datos conectados. Esto deberíamos ver al tener los nodos conectados:
  • 9. Ahora pasamos a la configuración de los nodos de datos. Esto se hará en cada máquina que será nodo de datos y mysql. Creamos la misma estructura de directorios que se hizo en el nodo de administrador. Descomprimimos el archivo del cluster y hacemos lo siguiente: Volvemos a copiar el contenido del archivo descomprimido, tal como en el administador. Una vez hecho esto, entramos en la carpeta conf. Editamos un archivo llamado my.cnf que se encuentra en el directorio conf. Cada uno de los nodos de datos lo poseerá: En síntesis, lo que este archivo significa es que el nodo mysql ocupará el motor ndbcluster para conectarse al nodo de administrador a través del puerto 4002, la cadena de conexión muestra la ip del administrador y el mysql_cluster se encontrará también en la misma máquina administrador. Posteriormente abrimos la cmd de Windows y una vez arrancados los servicios, estas ventanas NO deben cerrarse, de lo contrario se interrumpirá la comunicación. Arrancamos el nodo de datos:
  • 10. Vemos si el servicio está corriendo: Iniciamos el nodo mysql: Nos conectamos a una instancia MySQL:
  • 11. A manera de ejemplo, veamos los motores. Veremos que ndbcluster está corriendo usando el comando show engines; (Este es el motor del cluster) y para ver las bases de datos usamos show databases; En uno de los nodos de datos se ha creado una base de datos llamada prueba. Si ejecutamos nuevamente show databases; debemos verla reflejada:
  • 12. Ahora bien, vamos a crear una tabla en este nodo de datos. Para ello escribimos use prueba; que representa que ocuparemos la base de datos prueba. Luego creamos la tabla en ella llamada alumno, y al final de la consulta de create table alumno escribimos engine=ndb;para que esta sentencia se ejecute en todos los nodos conectados: Ahora insertamos un alumno nuevo y describimos la tabla:
  • 13. Bibliografía  MySQL®, obtenida el 26 de abril de 2013, de http://downloads.mysql.com/tutorials/cluster/mysql_wp_cluster_quickstart_windows.pdf  Uv.mx, obtenida el 26 de abril de 2013, de http://www.uv.mx/personal/lizhernandez/files/2013/04/Comandos-mysql.pdf  Manuales Guebs.com®, obtenida el 27 de abril de 2013, de http://manuales.guebs.com/mysql- 5.0/ndbcluster.html#mysql-cluster-configuration  Slideshare® Base de Datos MySQL, obtenida el 27 de abril de 2013, de http://www.slideshare.net/miguelangelnieto/mysql-high-availavility-load-balacing-cluster  Scribd® ¿Qué es un CLUSTER?, obtenida el 27 de abril de 2013, de http://es.scribd.com/doc/6858172/QUE-ES-UN-CLUSTER