Download - Cluster Mysql

Transcript
  • Departamento de Informtica y ComunicacionesIES Leopoldo Queipo.

    Curso: 2014-2015 Ciclo: Administracin de Sistemas Informticos en Red

    Fecha: 20-11-2014 Mdulo: Administracin de Sistemas Gestores de Bases de Datos

    Tipo: Prctica Profesor: Francisco Cervilla

    Ejercicio: Cluster MySQL

    Apellidos: Dominguez Al-lal Nota:Nombre: Alejandro

    Instalacion y configuracion de un cluster de MySQL en cuatro nodos (1 nodo administrador, un nodocliente y dos nodos de almacenamiento) sobre Ubuntu Server.

    Instalacion

    El primer paso sera la descarga del paquete en las maquinas. Para ello usaremos el comando wget conla direccion del paquiete, siendo el comando el siguientewget http://dev.mysql.com/get/Downloads/MySQL-Cluster-7.3/mysql-cluster-gpl-7.3.7-debian7-x86_84.debUna vez el paquete se ha descargado usamos el comando dpkg -i con el archivo para instalarlo, con el resultado que se muestra a continuacion

    www.iesleopoldoqueipo.com

    http://www.iesleopoldoqueipo.com/http://dev.mysql.com/get/Downloads/MySQL-Cluster-7.3/mysql-cluster-gpl-7.3.7-debian7-x86_84.debhttp://dev.mysql.com/get/Downloads/MySQL-Cluster-7.3/mysql-cluster-gpl-7.3.7-debian7-x86_84.deb

  • Departamento de Informtica y ComunicacionesIES Leopoldo Queipo.

    Este paso lo realizaremos en las 4 maquinas.

    Una vez se han instalado los paquetes en los 4 servidores porcedemos a configurar primero el nodo mgm o nodo de administracion.

    Lo primero crearemos el directorio /var/lib/mysql-cluster con permisos de escritura para todos sudo mkdir /var/lib/mysql-cluster sudo chmod 777 /var/lib/mysql-cluster

    www.iesleopoldoqueipo.com

    http://www.iesleopoldoqueipo.com/

  • Departamento de Informtica y ComunicacionesIES Leopoldo Queipo.

    A continuacion crearemos el archivo /opt/mysql/server-5.6/ndb_mgmd.cnf con la siguiente informacin:

    [NDBD DEFAULT] NoOfReplicas=2 DataMemory=256M IndexMemory=18M

    [MYSQLD DEFAULT] [NDB_MGMD DEFAULT] [TCP DEFAULT] [NDB_MGMD] NodeId=1HostName=192.168.1.50

    [NDBD]NodeId=2 HostName=192.168.1.55 DataDir=/var/lib/mysql-cluster

    [NDBD]NodeId=3 HostName=192.168.1.60 DataDir=/var/lib/mysql-cluster

    [MYSQLD]

    www.iesleopoldoqueipo.com

    http://www.iesleopoldoqueipo.com/

  • Departamento de Informtica y ComunicacionesIES Leopoldo Queipo.

    HostName=192.168.1.65

    entramos en la carpeta /opt/mysql/server-5.6/ y ejecutamos el siguiente comando para iniciar y configurar el servidor de Administracin:./bin/ndb_mgmd --config-file= ndb_mgmd.cnf -ndb-nodeid=1

    www.iesleopoldoqueipo.com

    http://www.iesleopoldoqueipo.com/

  • Departamento de Informtica y ComunicacionesIES Leopoldo Queipo.

    Ahora se confirmar si el servidor esta corriendo. Ejecutamos el comando:./bin/ndb_mgmndb_mgm>SHOW

    www.iesleopoldoqueipo.com

    http://www.iesleopoldoqueipo.com/

  • Departamento de Informtica y ComunicacionesIES Leopoldo Queipo.

    A partir de aqu, realizaremos la configuracion para los nodos de almacenamiento

    Cree el directorio /var/lib/mysql-cluster y /tmp/mysql-cluster con permisos de escritura para todos.

    www.iesleopoldoqueipo.com

    http://www.iesleopoldoqueipo.com/

  • Departamento de Informtica y ComunicacionesIES Leopoldo Queipo.

    Cree el directorio /etc/mysql y cree un archivo llamado my.cnf en la carpeta recin creada, con el siguiente contenido:# my.cnf contenido[client]port=3306socket=/tmp/mysql-cluster

    [mysqld]port=3306socket=/tmp/mysql-clusterndbclusterndb-connectstring=192.168.1.50 #Direccion IP de MGM

    [mysql_cluster]ndb-connectstring=192.168.1.50 #Direccion IP de MGM

    www.iesleopoldoqueipo.com

    http://www.iesleopoldoqueipo.com/

  • Departamento de Informtica y ComunicacionesIES Leopoldo Queipo.

    Ingrese a la carpeta /opt/mysql/server-5.6/ y ejecute el siguiente comando para iniciar el servicio.sudo ./bin/ndbd

    www.iesleopoldoqueipo.com

    http://www.iesleopoldoqueipo.com/

  • Departamento de Informtica y ComunicacionesIES Leopoldo Queipo.

    Este paso debera realizarse de nuevo en el otro nodo de administracion, por lo que la demostracion de que los nodos estan conectados la pondremos al final con todos los nodos conectados.

    A continuacion procedemos a la configuracion del nodo sqlCree el usuario mysql y Descargue e instale el siguiente paquete desde internetsudo useradd mysqlsudo apt-get install libaio1

    Una vez instalado el paquete anterior, se ejecutare un script para instalar las tablas iniciales.cd / opt/mysql/server-5.6/sudo ./scripts/mysql_install_db --user=mysql

    Ahora como root se deben establecer los permisos de acceso al usuario de MYSQL Server en la carpeta de instalacin de mysql-cluster .chown -R root .chown -R mysql datachgrp -R mysql .

    www.iesleopoldoqueipo.com

    http://www.iesleopoldoqueipo.com/

  • Departamento de Informtica y ComunicacionesIES Leopoldo Queipo.

    Ejecute mysql.server para iniciar una instancia de SQL.cd /opt/mysql/server-5.6/./support-files/mysql.server start

    www.iesleopoldoqueipo.com

    http://www.iesleopoldoqueipo.com/

  • Departamento de Informtica y ComunicacionesIES Leopoldo Queipo.

    Como resultado final de la configuracion, mostraremos una catura de todos los nodos conectados entre si

    A continuacion, procederemos a la creacion de una base de datos como ejemplo de que el sistema funciona correctamente, aunque antes de esto, realizaremos las ultimas configuraciones en los usuarios de la base de datos.

    Primero debe acceder a la base de datos como root. cd / opt/mysql/server-5.6/ ./bin/mysql -u root

    Una vez logeados, se verificara los usuarios actuales en la Base de Datosmysql> SELECT User, Host, Password FROM mysql.user;

    Es necesario establecer una password para el usuario root, para ello ejecute los siguientes comandosSET PASSWORD FOR 'root'@'localhost' = PASSWORD('myclave');SET PASSWORD FOR 'root'@'ubuntu' = PASSWORD('myclave');SET PASSWORD FOR 'root'@'127.0.0.1' = PASSWORD('myclave');

    Para poder conectarse remotamente desde cualquier terminal, se debe crear un nuevo usuario root.CREATE USER 'root'@'%' IDENTIFIED BY 'myclave';

    Se debe dar permisos de escritura y lectura al usuario root@%GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY PASSWORD '*23AE8... (Ver imagen anterior)' WITH GRANT OPTION;

    www.iesleopoldoqueipo.com

    http://www.iesleopoldoqueipo.com/

  • Departamento de Informtica y ComunicacionesIES Leopoldo Queipo.

    En este caso, debido a que solo hemos puesto un nodo sql, no podemos realizar consultas de las tablas si no es a traves de este nodo, con lo que deberemos implementar otro nodo mas para demostrar que de verdad funciona.

    Aun asi, pondremos una captura en la que se demuesra que si se puede escribir en la base de datos, lo cual es indiaivo de que todas las conexiones se han realizado de manera satisfactoria.

    www.iesleopoldoqueipo.com

    http://www.iesleopoldoqueipo.com/

  • Departamento de Informtica y ComunicacionesIES Leopoldo Queipo.

    www.iesleopoldoqueipo.com

    http://www.iesleopoldoqueipo.com/