Cómo instalar la base de datos NoSQL ArangoDB en Debian 11

ArangoDB es un moderno sistema de bases de datos multimodelo desarrollado por ArangoDB GmbH. Es un sistema de bases de datos gratuito y de código abierto que soporta tres modelos de datos diferentes, documentos, gráficos y claves/valores. ArangoDB es un sistema de base de datos flexible que proporciona un alto rendimiento y transacciones ACID, además es fácil de escalar vertical y horizontalmente.

ArangoDB proporciona un lenguaje de consulta unificado llamado AQL, que te permite almacenar tus datos en diferentes módulos de datos. El AQL es un lenguaje de consulta declarativo que permite combinar diferentes patrones de acceso a los datos en una sola consulta.

En este tutorial, te mostraremos cómo instalar y configurar ArangoDB, el sistema de base de datos multimodelo, en el servidor Debian 11.

Requisitos previos

  • Un servidor Linux Debian 11.
  • Un usuario no root con privilegios sudo/root.

Instalación de ArangoDB

Por defecto, ArangoDB proporciona un paquete binario para las distribuciones de Linux más populares, como Debian, Ubuntu y CentOS. Esto permite a los desarrolladores y administradores instalar fácilmente ArangoDB en sus máquinas o servidores.

Antes de instalar ArangoDB, ejecuta el siguiente comando apt para instalar la utilidad del paquete gnupg2 y el apt-transport-https para una instalación segura a través de conexiones HTTPS.

sudo apt install -y gnupg2 apt-transport-https

Una vez finalizada la instalación, descarga la clave GPG de ArangoDB y añádela a tu sistema Debian.

curl -OL https://download.arangodb.com/arangodb39/DEBIAN/Release.key
sudo apt-key add - < Release.key

añadir clave gpg

A continuación, añade el repositorio de ArangoDB para el sistema Debian utilizando el siguiente comando.

echo 'deb https://download.arangodb.com/arangodb39/DEBIAN/ /' | sudo tee /etc/apt/sources.list.d/arangodb.list

Actualiza y refresca tu repositorio de Debian.

sudo apt update

En la siguiente captura de pantalla verás que el repositorio de ArangoDB se ha añadido al sistema Debian.

añadir repositorio arangodb

Ahora instala el paquete ArangoDB utilizando el comando apt que aparece a continuación.

sudo apt install arangodb3 arangodb3-dbg

Durante la instalación, se te pedirá que establezcas la contraseña de root para ArangoDB. Introduce tu contraseña y selecciona OK.

configurar la contraseña de root

Repite tu contraseña de root y selecciona Aceptar.

repetir la contraseña de root

Para actualizar automáticamente la base de datos, selecciona para activarlo.

activar la actualización automática

Ahora se te pedirá que hagas una copia de seguridad de los datos de la antigua base de datos de ArangoDB, que se almacenará según la fecha en el directorio /var/lib. Selecciona para hacer una copia de seguridad de la base de datos.

copia de seguridad de la base de datos antes de la actualización

La instalación de ArangoDB se habrá completado.

A continuación, inicia y habilita el servicio ArangoDB mediante el siguiente comando.

sudo systemctl start arangodb3
sudo systemctl enable arangodb3

Por último, verifica el servicio ArangoDb utilizando el siguiente comando.

sudo systemctl status arangodb3

Como puedes ver en la siguiente captura de pantalla, el servicio arangodb3 se está ejecutando y está habilitado. El servicio arangodb3 se iniciará automáticamente al arrancar el sistema.

verificar arangodb3

Configurar la optimización del sistema para la implantación de ArangoDB

Para el despliegue de ArangoDB, necesitarás optimizar tu sistema utilizando alguna configuración específica, especialmente para obtener un mayor rendimiento de ArangoDB.

Ahora vas a crear un script bash que se ejecutará automáticamente cada vez que el sistema arranque. Este script optimizará automáticamente tu sistema Debian para ejecutar ArangoDB.

En primer lugar, instala el paquete sysfsutils mediante el comando apt que aparece a continuación.

sudo apt install sysfsutils -y

Una vez completada la instalación, crea un nuevo script bash /etc/init.d/arangodb-os-optimization utilizando el editor nano.

sudo nano /etc/init.d/arangodb-os-optimization

Añade el script bash de abajo al archivo.

#!/bin/bash

### BEGIN INIT INFO
# Provides: arangodb-memory-configuration
# Required-Start:
# Required-Stop:
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Set arangodb kernel parameters
# Description: Set arangodb kernel parameters
### END INIT INFO

# 1 - Raise the vm map count value
sudo sysctl -w "vm.max_map_count=2048000"

# 2 - Disable Transparent Huge Pages
sudo bash -c "echo madvise > /sys/kernel/mm/transparent_hugepage/enabled"
sudo bash -c "echo madvise > /sys/kernel/mm/transparent_hugepage/defrag"
 
# 3 - Set the virtual memory accounting mode
sudo bash -c "echo 0 > /proc/sys/vm/overcommit_memory"

Guarda y cierra el archivo cuando hayas terminado.

Ahora haz que el script sea ejecutable cambiando el permiso a 755 o +x utilizando el siguiente comando.

sudo chmod +x /etc/init.d/arangodb-os-optimization

Por último, añade el script para que se ejecute en el arranque utilizando el siguiente comando.

sudo update-rc.d arangodb-os-optimization defaults

Ahora has completado la instalación de ArangoDB y has añadido un script de auto-optimización para ejecutar ArangoDB.

configurar el script de optimización de arangodb

Conéctate a ArangoDB y crea una base de datos y un usuario

Después de completar la instalación de ArangoDB, ahora aprenderás a conectarte a ArangoDB utilizando la línea de comandos de ArangoDB llamada «arangosh» y a crear una nueva base de datos y un usuario para ArangoDB. La línea de comandos arangosh te permite establecer una conexión con ArangoDB, es como el comando mysql en MySQL, pgsql de PostgreSQL, o mongosh para MongoDB.

Ejecuta el siguiente comando para conectarte al shell de ArangoDB. Si no has especificado el nombre de usuario, se conectará automáticamente en función de tu sistema. En este caso, el usuario es el root.

sudo arangosh

Introduce la contraseña de root de ArangoDB. Una vez conectado, verás la siguiente salida. Puedes ver en la siguiente captura de pantalla la conexión detallada al ArangoDb, que se conecta como usuario root a la base de datos por defecto _system y al servidor ArangoDB tcp://127.0.0.1:8529.

entrar en arangodb arangosh shell

Para crear un nuevo usuario, deberás cargar el módulo de usuarios. Ejecuta la siguiente consulta para cargar el módulo de usuarios y crea un nuevo usuario testuser con la contraseña testpassword.

const users = require('@arangodb/users');
users.save('testuser', 'testpassword');

A continuación, ejecuta las siguientes consultas para crear una nueva base de datos testdb y conceder acceso administrativo (rw – lectura y escritura) al usuario testuser.

db._createDatabase('testdb');
users.grantDatabase('testuser', 'testdb', 'rw');

Escribe exit para salir de la shell de ArangoDB o simplemente pulsa Ctrl+c.

crear una nueva base de datos y un nuevo usuario

Por último, para verificar el usuario test y la base de datos testdb, ejecuta el siguiente comando para conectarte a ArangoDB como usuario testuser a la base de datos testdb.

sudo arangosh --server.endpoint tcp://127.0.0.1:8529 --server.username testuser --server.database testdb

Introduce la contraseña del usuario de prueba y verás la siguiente salida.

En la siguiente captura de pantalla, verás el detalle de las conexiones actuales a ArangoDB, que está conectado como el usuario testuser a la base de datos testdb en el servidor ArangoDB tcp://127.0.0.1:8529.

entrar en arangodb con un nuevo usuario

Habilitar la consola de administración web de ArangoDB

Una de las principales ventajas de ArangoDB es que proporciona una consola de administración basada en la web para gestionar tu despliegue de ArangoDB. El panel de administración por defecto se ejecuta bajo el mismo puerto 8529 en el localhost o 127.0.0.1.

Ahora, si estás ejecutando ArangoDB en un servidor, tendrás que cambiar la dirección bind por la dirección IP de tu servidor para poder acceder a la consola de administración web de ArangoDB.

Edita la configuración /etc/arangodb3/arangod.conf utilizando el editor nano.

sudo nano /etc/arangodb3/arangod.conf

Cambia la dirección del punto final por defecto de 127.0.01 por la dirección IP de tu servidor. En este ejemplo, la dirección IP del servidor es 192.168.5.20.

endpoint = tcp://192.168.5.20:8529

Guarda y cierra el archivo cuando hayas terminado.

Ahora reinicia el servicio de ArangoDB para aplicar los nuevos cambios a tu configuración de ArangoDB.

sudo systemctl restart arangodb3

Comprueba el puerto de escucha y la dirección IP de tu servidor mediante el siguiente comando.

ss -plnt

Como puedes ver en la siguiente captura de pantalla, ArangoDB se está ejecutando ahora en la dirección IP del servidor 192.168.5.20 con el puerto por defecto 8529.

activar la consola de administración web de arangodb

A continuación, enciende tu navegador web y visita la dirección IP del servidor de ArangoDB con el puerto 8529.

http://192.168.5.20:8529/

Verás la página de inicio de sesión de ArangoDB que aparece a continuación. Introduce tu usuario y contraseña de la base de datos y haz clic en Login. En este ejemplo se utiliza el usuario raíz por defecto de ArangoDB.

acceder a arangodb

Selecciona la base de datos a la que quieres conectarte y haz clic en el botón Seleccionar DB: dbname.

selecciona la base de datos a la que conectarte

A continuación puedes ver el panel de administración de ArangoDB.

Administración de ArangoDB dfashboard

A continuación, haz clic en el menú USUARIOS del lado izquierdo y verás el usuario testuser que acabas de crear.

Lista de usuarios de ArangoDB

Por último, haz clic en el menú BASE DE DATOS y verás el testdb disponible en ArangoDB.

Lista de bases de datos ArangoDB

Conclusión

¡Enhorabuena! Ya has completado y aprendido a instalar ArangoDB en el servidor Debian 11. También has aprendido a utilizar el shell de ArangoDB para crear una base de datos y un usuario. Por último, también has aprendido a habilitar la consola de administración web de ArangoDB para su despliegue.

Scroll al inicio