0

Bases de datos distribuidas con MariaDB Galera Cluster

Hola a tod@s,

En este post vamos a realizar una instalación de bases de datos distribuidas con MariaDB Galera Cluster en 3 máquinas Ubuntu Server.

  • Creamos la primera máquina virtual que después clonaremos dos veces:

  • Actualizamos con apt-get update y apt-get upgrade:

  • Instalamos mariadb con apt-get install mariadb-server:

  • Instalamos mysql_secure_installation:

  • Apagamos la máquina virtual y la clonamos dos veces, estos dos clones los vamos a configurar cada uno con su hostname y con su dirección IP, por lo tanto, estas son las tres máquinas que tenemos:

  • Editamos el fichero /etc/mysql/mariadb.conf.d/50-server.cnf del primer nodo donde ponemos un comentario en la línea bind-address=127.0.0.1 y al final del mismo añadimos:

[galera]

wsrep_on=ON

wsrep_provider=/usr/lib/galera/libgalera_smm.so

wsrep_cluster_address=»gcomm://»

binlog_format=row

default_storage_engine=InnoDB

innodb_autoinc_lock_mode=2

bind-address=0.0.0.0

wsrep_cluster_name=»MariaDB_Cluster»

# IP address del equipo:

wsrep_node_address=»192.168.14.71″

  • Iniciamos galera con galera_new_cluster en el primer nodo:

  • Reeditamos /etc/mysql/mariadb.conf.d/50-server.cnf y añadimos las IPs de todos los nodos:

  • En los otros nodos escribimos una configuración igual pero cambiando la IP:

  • Instalamos la base de datos «facturacion» en cualquiera de los 3 nodos y compruebamos que se replica en los otros 2 nodos:
  • La base de datos facturación la hemos descargado en esta ruta del servidor MariaDB1:

  • Ahora vamos a instalar la base de datos facturación sobre el servidor MariaDB1:

  • Paramos e iniciamos mariadb en el segundo nodo y en el tercer nodo y volvemos a consultar en el primer nodo (vemos que los otros nodos actualizan información, en este caso, hemos creado la base de datos facturacion en el nodo1 y vemos que aparece en el nodo2 y nodo3:

  • Insertamos un nuevo registro en la tabla de clientes en cualquiera de los nodos (diferente al usado en el apartado anterior) y compruebamos que se replica en los otros 2.
  • Sobre el servidor MariaDB2 insertamos un nuevo registro en la tabla clientes:

  • Ahora vemos que se replica en los otros dos nodos:

  • Apagamos la máquina virtual de cualquiera de los nodos e inserta un nuevo cliente en cualquiera de los otros 2 nodos en funcionamiento.
  • Apagamos el nodo 3:

  • Insertamos un nuevo cliente en el nodo 2:

  • Arrancamos de nuevo el nodo apagado y comprobamos que se sincroniza este último dato insertado en clientes.
  • Volvemos a iniciar de nuevo el nodo apagado (MariaDB3):

  • Verificamos que se sincroniza este último registro insertado sobre la tabla clientes:

 

Saludos y espero que os resulte de ayuda 😉

 

Jose Ramon Ramos Gata

Técnico Superior STI

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.