Cómo configurar el clúster de bases de datos Riak KV en Ubuntu 18.04
Riak es una base de datos NoSQL distribuida que ofrece alta disponibilidad, tolerancia a fallos, simplicidad operativa y escalabilidad. Riak ha sido escrito en Erlang, y forma parte de los productos ‘Basho’ que ofrecen diferentes versiones, entre ellas Riak KV (Clave-Valor), Riak TS (optimizada para IoT/Serie de Tiempo), y Riak CS (Almacenamiento en la Nube Riak).
En este tutorial, te mostraremos paso a paso cómo instalar y configurar la base de datos NoSQL Riak KV en el servidor Ubuntu 18.04 LTS. Crearemos el clúster Riak KV con tres servidores Ubuntu.
Requisitos previos
- 3 servidores Ubuntu 18.04/16.04
- hakase-riak01 10.1.1.10
- hakase-riak02 10.1.1.11
- hakase-riak03 10.1.1.12
- Privilegios de la raíz
¿Qué vamos a hacer?
- Instalar Riak KV en Ubuntu 18.04
- Configuración básica de Riak KV
- Configurar el clúster de Riak KV
- Prueba de
Paso 1 – Instalar Riak KV en Ubuntu 18.04 LTS
El primer paso que haremos para esta guía es instalar los paquetes de Riak KV en todos los servidores, así que ejecuta todos los comandos de esta etapa en todos los servidores.
Instalaremos el KV Riak desde el repositorio packagecloud, y utilizaremos los paquetes KV Riak para la versión Xenial de Ubuntu.
Añade la clave de packagecloud e instala ‘apt-transport-https’.
curl https://packagecloud.io/gpg.key | sudo apt-key add -
sudo apt-get install -y apt-transport-https
Ahora ve al directorio ‘/etc/apt/sources.list.d’ y crea un nuevo archivo de repositorio ‘riak.list’.
cd /etc/apt/sources.list.d/
vim riak.list
Pega el repositorio KV de Riak debajo.
# this file was generated by packagecloud.io for # the repository at https://packagecloud.io/basho/riak deb https://packagecloud.io/basho/riak/ubuntu/ xenial main deb-src https://packagecloud.io/basho/riak/ubuntu/ xenial main
Guarda y sal.
Actualiza el repositorio e instala los paquetes de Riak KV con el comando apt que aparece a continuación.
sudo apt update
sudo apt install riak -y
Espera a que se instale.
Nota:
- Ejecuta todos los comandos de esta etapa en todos los nodos del servidor.
Paso 2 – Configuración básica Riak KV
En este paso, configuraremos el Riak KV para nuestro cluster NoSQL. Antes de configurar el KV Riak en sí, necesitamos configurar el límite de archivos abiertos en el sistema Ubuntu.
Edita el archivo ‘/etc/security/limits.conf’ utilizando el editor vim.
vim /etc/security/limits.conf
Pega la configuración de abajo al final de la línea.
riak soft nofile 65536 riak hard nofile 200000
Guarda y sal.
Ahora ve al directorio ‘/etc/riak’, edita el archivo de configuración por defecto ‘riak.conf’.
cd /etc/riak/
vim riak.conf
Cambia el nombre del nodo por defecto ‘riak@localhost’ por ‘riak@ServerIP’.
nodename = [email protected]
Ahora descomenta las líneas de los programadores que aparecen a continuación.
erlang.schedulers.force_wakeup_interval = 500 erlang.schedulers.compaction_of_load = false
Descomenta la línea ‘ring_size’ y déjala por defecto en ’64’.
ring_size = 64
Cambia el oyente HTTP y los búferes de protocolo con el ‘ServerIP’.
listener.http.internal = 10.1.1.11:8098 listener.protobuf.internal = 10.1.11.11:8087
Guarda y sal.
Ahora prueba las configuraciones de riak, y luego inicia el servicio de riak.
riak chkconfig
riak start
Y el siguiente es el resultado.
A continuación, probaremos la configuración de nuestro servicio riak ejecutando los siguientes comandos.
riak ping
curl -v http://10.1.1.11:8098/types/default/props
Asegúrate de que obtienes el resultado ‘pong’ del comando ‘riak ping’, y obtén el código de estado HTTP ‘200’ del comando curl.
Las configuraciones básicas de Riak KV distributed NoSQL se han completado, y estamos listos para configurar el clúster Riak KV.
Nota:
- Ejecuta todos los comandos de esta etapa en todos los nodos del servidor.
Paso 3 – Configurar el Clúster Riak KV
En este paso, configuraremos el cluster uniendo los nodos ‘hakase-riak02’ y ‘hakase-riak03’ al primer nodo.
Segundo nodo
En el nodo ‘hakase-riak02’, ejecuta el riak-admin que aparece a continuación.
riak-admin cluster join [email protected]
Ahora, en el nodo ‘hakase-riak01’, ejecuta los comandos riak-admin que aparecen a continuación.
riak-admin cluster plan
riak-admin cluster commit
Y el nodo ‘hakase-riak02’ se ha añadido al clúster, compruébalo utilizando el comando de abajo.
riak-admin cluster status
Tercer nodo
En el nodo ‘hakase-riak03’, ejecuta el comando riak-admin que aparece a continuación.
riak-admin cluster join [email protected]
Ahora, en el nodo ‘hakase-riak01’, ejecuta los comandos riak-admin que aparecen a continuación.
riak-admin cluster plan
riak-admin cluster commit
Todos los nodos del servidor ‘hakase-riak02’ y ‘hakase-riak03’ se han añadido al clúster, compruébalo de nuevo con el comando que aparece a continuación.
riak-admin cluster status
La instalación y configuración del clúster KV de Riak se ha completado.
Paso 4 – Prueba
El cluster Riak KV NoSQL ha sido creado, ahora queremos probar el cluster subiendo una imagen de datos al cluster, y probar el acceso desde los otros nodos para asegurar la replicación de datos entre todos los nodos.
En el servidor ‘hakase-riak01’, descarga una imagen utilizando el comando wget que aparece a continuación.
cd ~/
wget https://vignette.wikia.nocookie.net/nichijou/images/a/a0/113407.jpg -O hakase.jpg
Ahora sube la imagen al cluster Riak KV utilizando el comando curl.
curl -XPUT http://10.9.9.10:8098/riak/images/hakase.jpg -H "Content-type: image/jpg" --data-binary @hakase.jpg
Abre tu navegador web y escribe la dirección IP de otros nodos, y obtendrás la misma imagen.
‘hakase-riak02’.
http://10.1.1.11:8098/riak/images/hakase.jpg
‘hakase-riak03’.
http://10.1.1.12:8098/riak/images/hakase.jpg
Si quieres eliminar los datos de la imagen, utiliza el siguiente comando curl.
curl -XDELETE 'http://10.9.9.10:8098/riak/images/hakase.jpg'
La instalación y configuración del clúster Riak KV en Ubuntu 18.04 se ha completado con éxito.