Cómo instalar la base de datos NoSQL ArangoDB en Ubuntu 18.04 LTS
ArangoDB es una base de datos gratuita y de código abierto, NoSQL y multimodelo, que proporciona todas las características de la base de datos necesarias para una aplicación web moderna. ArangoDB no utiliza el sistema tradicional de almacenamiento de datos como en MySQL o PostgreSQL. Está especialmente diseñada para ser de alto rendimiento, de código abierto y fácilmente escalable. Es sencillo, fácil de usar y proporciona una interfaz basada en la web para la administración y la supervisión del sistema. ArangoDB se utiliza en pequeñas y grandes organizaciones que procesan cantidades masivas de datos. ArangoDB soporta tres modelos de datos clave/valor, documentos y gráficos. ArangoDB proporciona un motor de almacenamiento para manejar conjuntos de datos mucho más grandes que la memoria RAM. ArangoDB te ayuda a configurar la base de datos en maestro-esclavo para la Replicación y el Sharding.
En este tutorial, aprenderemos a instalar ArangoDB3 en un servidor Ubuntu 18.04.
Requisitos
- Un servidor con Ubuntu 18.04.
- Una dirección IP estática 192.168.0.104 configurada en tu servidor
- Una contraseña de root configurada en tu servidor.
Cómo empezar
Antes de empezar, tendrás que actualizar tu sistema con la última versión. Puedes hacerlo ejecutando el siguiente comando:
apt-get update -y
apt-get upgrade -y
Una vez actualizado tu servidor, reinicia tu servidor para aplicar los cambios.
Instalar ArangoDB3
Por defecto, ArangoDB no está disponible en el repositorio por defecto de Ubuntu 18.04. Por tanto, tendrás que añadir el repositorio para ello. Primero, descarga y añade la clave GPG con el siguiente comando:
wget -q https://download.arangodb.com/arangodb34/DEBIAN/Release.key -O- | apt-key add -
A continuación, añade el repositorio con el siguiente comando:
nano /etc/apt/sources.list.d/arangodb.list
Añade la siguiente línea:
deb https://download.arangodb.com/arangodb34/DEBIAN/ /
Guarda y cierra el archivo, cuando hayas terminado. A continuación, actualiza el repositorio e instala ArangoDB3 con el siguiente comando
apt-get update -y
apt-get install apt-transport-https arangodb3 -y
Durante la instalación, tendrás que responder a algunas preguntas:
Establece la contraseña de la base de datos como se muestra a continuación:
Selecciona actualizar automáticamente los archivos de la base de datos como se muestra a continuación:
Selecciona el motor de almacenamiento de la base de datos como se muestra a continuación:
Haz una copia de seguridad de la base de datos antes de realizar la actualización, como se muestra a continuación:
Una vez que la instalación se haya completado con éxito, inicia el servicio ArangoDB y haz que se inicie al arrancar con el siguiente comando:
systemctl start arangodb3
systemctl enable arangodb3
Puedes comprobar el estado de ArangoDB con el siguiente comando:
systemctl status arangodb3
Deberías ver la siguiente salida:
? arangodb3.service - ArangoDB database server Loaded: loaded (/lib/systemd/system/arangodb3.service; enabled; vendor preset: enabled) Active: active (running) since Tue 2019-05-07 16:00:21 UTC; 2min 57s ago Main PID: 14070 (arangod) Tasks: 18 (limit: 131072) CGroup: /system.slice/arangodb3.service ??14070 /usr/sbin/arangod --uid arangodb --gid arangodb --pid-file /var/run/arangodb3/arangod.pid --temp.path /var/tmp/arangodb3 --l May 07 16:00:21 ubuntu1804 arangod[14070]: 2019-05-07T16:00:21Z [14070] INFO ArangoDB 3.4.5 [linux] 64bit, using jemalloc, build tags/v3.4.5-0- May 07 16:00:21 ubuntu1804 arangod[14070]: 2019-05-07T16:00:21Z [14070] INFO detected operating system: Linux version 4.15.0-20-generic (buildd May 07 16:00:21 ubuntu1804 arangod[14070]: 2019-05-07T16:00:21Z [14070] INFO {authentication} Jwt secret not specified, generating... May 07 16:00:21 ubuntu1804 arangod[14070]: 2019-05-07T16:00:21Z [14070] INFO using storage engine rocksdb May 07 16:00:21 ubuntu1804 arangod[14070]: 2019-05-07T16:00:21Z [14070] INFO {cluster} Starting up with role SINGLE May 07 16:00:21 ubuntu1804 arangod[14070]: 2019-05-07T16:00:21Z [14070] INFO {syscall} file-descriptors (nofiles) hard limit is 131072, soft li May 07 16:00:21 ubuntu1804 arangod[14070]: 2019-05-07T16:00:21Z [14070] WARNING {threads} --server.threads (64) is more than eight times the nu May 07 16:00:22 ubuntu1804 arangod[14070]: 2019-05-07T16:00:22Z [14070] INFO {authentication} Authentication is turned on (system only), authen May 07 16:00:25 ubuntu1804 arangod[14070]: 2019-05-07T16:00:25Z [14070] INFO using endpoint 'http+tcp://127.0.0.1:8529' for non-encrypted reque May 07 16:00:27 ubuntu1804 arangod[14070]: 2019-05-07T16:00:27Z [14070] INFO ArangoDB (version 3.4.5 [linux]) is ready for business. Have fun!
También puedes asegurar ArangoDB ejecutando el script arango-secure-installation.
Primero, detén el servicio de ArangoDB con el siguiente comando:
systemctl stop arangodb3
A continuación, asegura ArangoDB con el siguiente comando:
arango-secure-installation
Please enter password for root user:
Repeat password:
Proporciona tu root y pulsa Enter, deberías ver la siguiente salida:
2019-05-07T16:03:53Z [14322] INFO {syscall} file-descriptors (nofiles) hard limit is 1048576, soft limit is 1048576 2019-05-07T16:03:53Z [14322] WARNING {threads} --server.threads (64) is more than eight times the number of cores (1), this might overload the server 2019-05-07T16:03:55Z [14322] INFO Password changed. 2019-05-07T16:03:55Z [14322] INFO {startup} server will now shut down due to upgrade, database initialization or admin restoration.
Trabajando con ArangoDB
Ahora ArangoDB está instalado y en funcionamiento. Ahora puedes lanzar el shell de ArangoDB con el siguiente comando:
arangosh
Please specify a password:
Después de proporcionar la contraseña de root, deberías ver la siguiente salida:
_ __ _ _ __ __ _ _ __ __ _ ___ ___| |__ / _` | '__/ _` | '_ \ / _` |/ _ \/ __| '_ \ | (_| | | | (_| | | | | (_| | (_) \__ \ | | | \__,_|_| \__,_|_| |_|\__, |\___/|___/_| |_| |___/ arangosh (ArangoDB 3.4.5 [linux] 64bit, using jemalloc, build tags/v3.4.5-0-g648fbb8191, VPack 0.1.33, RocksDB 5.16.0, ICU 58.1, V8 5.7.492.77, OpenSSL 1.1.0j 20 Nov 2018) Copyright (c) ArangoDB GmbH Command-line history will be persisted when the shell is exited. Connected to ArangoDB 'http+tcp://127.0.0.1:8529' version: 3.4.5 [SINGLE, server], database: '_system', username: 'root' Type 'tutorial' for a tutorial or 'help' to see common examples 127.0.0.1:8529@_system>
Ahora, crea una base de datos de ejemplo con el nombre mydb utilizando el siguiente comando:
127.0.0.1:8529@_system> db._createDatabase("mydb");
A continuación, crea el usuario de la base de datos y establece la contraseña con el siguiente comando:
127.0.0.1:8529@_system> var users = require("@arangodb/users");
127.0.0.1:8529@_system> users.save("myuser@localhost", "password");
{
"user" : "myuser@localhost",
"active" : true,
"extra" : {
},
"code" : 201
}
A continuación, concede acceso a la base de datos con el siguiente comando:
127.0.0.1:8529@_system> users.grantDatabase("myuser@localhost", "mydb");
A continuación, lista tu base de datos con el siguiente comando:
127.0.0.1:8529@_system> db._databases()
Salida:
[ "_system", "mydb" ]
A continuación, conéctate a tu base de datos mydb utilizando el usuario myuser con el siguiente comando
arangosh --server.username "myuser@localhost" --server.database mydb
Please specify a password:
Proporciona tu contraseña de usuario y pulsa Intro, deberías ver la siguiente salida:
_ __ _ _ __ __ _ _ __ __ _ ___ ___| |__ / _` | '__/ _` | '_ \ / _` |/ _ \/ __| '_ \ | (_| | | | (_| | | | | (_| | (_) \__ \ | | | \__,_|_| \__,_|_| |_|\__, |\___/|___/_| |_| |___/ arangosh (ArangoDB 3.4.5 [linux] 64bit, using jemalloc, build tags/v3.4.5-0-g648fbb8191, VPack 0.1.33, RocksDB 5.16.0, ICU 58.1, V8 5.7.492.77, OpenSSL 1.1.0j 20 Nov 2018) Copyright (c) ArangoDB GmbH Command-line history will be persisted when the shell is exited. Connected to ArangoDB 'http+tcp://127.0.0.1:8529' version: 3.4.5 [SINGLE, server], database: 'mydb', username: 'myuser@localhost' Type 'tutorial' for a tutorial or 'help' to see common examples 127.0.0.1:8529@mydb>
Accede a la interfaz web de ArangoDB
Ahora que ArangoDB está instalado y configurado, es el momento de acceder a la interfaz web de ArangoDB. La interfaz web de ArangoDB se puede utilizar para gestionar bases de datos, colecciones, documentos, usuarios, gráficos y comprobar el estado del servidor.
Por defecto, ArangoDB está configurado para acceder sólo desde localhost. Por tanto, tendrás que configurar ArangoDB para que acceda desde una ubicación remota. Puedes hacerlo editando el archivo /etc/arangodb3/arangod.conf:
nano /etc/arangodb3/arangod.conf
Cambia la siguiente línea
De :
endpoint = tcp://127.0.0.1:8529
a
endpoint = tcp://192.168.0.104:8529
Guarda y cierra el archivo, cuando hayas terminado. A continuación, reinicia el servicio de ArangoDB para aplicar todos estos cambios:
systemctl restart arangodb3
Ahora, abre tu navegador web y escribe la URL http://192.168.0.104:8529. Serás redirigido a la siguiente página:
Ahora, proporciona tu nombre de usuario y contraseña de root. A continuación, haz clic en el botón de inicio de sesión. Deberías ver la siguiente página:
Ahora, selecciona la base de datos y haz clic en el botón Seleccionar BD. Deberías ver el panel de control de ArangoDB en la siguiente página:
Enhorabuena! has instalado y configurado con éxito ArangoDB en el servidor Ubuntu 18.04. No dudes en preguntarme si tienes alguna duda.