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 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.
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.
Repite tu contraseña de root y selecciona Aceptar.
Para actualizar automáticamente la base de datos, selecciona Sí para activarlo.
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 Sí para hacer una copia de seguridad de la base de datos.
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.
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.
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.
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.
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.
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.
A continuación, enciende tu navegador web y visita la dirección IP del servidor de ArangoDB con el puerto 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.
Selecciona la base de datos a la que quieres conectarte y haz clic en el botón Seleccionar DB: dbname.
A continuación puedes ver el panel de administración de ArangoDB.
A continuación, haz clic en el menú USUARIOS del lado izquierdo y verás el usuario testuser que acabas de crear.
Por último, haz clic en el menú BASE DE DATOS y verás el testdb disponible en 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.