Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Tema:
Rodolfo (+SAT+)
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.
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.
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
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 #--------------------------------------------------
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.
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;
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.