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:

Establecer la contraseña de la raíz de la base de datos

Repite la contraseña

Selecciona actualizar automáticamente los archivos de la base de datos como se muestra a continuación:

Configurar arangodb

Selecciona el motor de almacenamiento de la base de datos como se muestra a continuación:

Selecciona el motor de almacenamiento

Haz una copia de seguridad de la base de datos antes de realizar la actualización, como se muestra a continuación:

Copia de seguridad de los archivos de la base de datos

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:[email protected]_system> 

Ahora, crea una base de datos de ejemplo con el nombre mydb utilizando el siguiente comando:

127.0.0.1:[email protected]_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:[email protected]_system> var users = require("@arangodb/users");
127.0.0.1:[email protected]_system> users.save("[email protected]", "password");
{
"user" : "[email protected]",
"active" : true,
"extra" : {
},
"code" : 201
}

A continuación, concede acceso a la base de datos con el siguiente comando:

127.0.0.1:[email protected]_system> users.grantDatabase("[email protected]", "mydb");

A continuación, lista tu base de datos con el siguiente comando:

127.0.0.1:[email protected]_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 "[email protected]" --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: '[email protected]'

Type 'tutorial' for a tutorial or 'help' to see common examples
127.0.0.1:[email protected]> 

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:

Interfaz web de ArangoDB

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:

Accede a

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:

Panel de control de la base de datos ArangoDB

Enhorabuena! has instalado y configurado con éxito ArangoDB en el servidor Ubuntu 18.04. No dudes en preguntarme si tienes alguna duda.

También te podría gustar...