Cómo instalar la base de datos ArangoDB NoSQL en Ubuntu 18.04 LTS

Establecer la contrase√Īa ra√≠z de la base de datos

ArangoDB es una base de datos gratuita y de c√≥digo abierto, NoSQL y multimodelo que proporciona todas las funciones de base de datos que se necesitan para una aplicaci√≥n web moderna. ArangoDB no utiliza el sistema tradicional de almacenamiento de datos como en MySQL o PostgreSQL. Est√° especialmente dise√Īado por ser de alto rendimiento, de c√≥digo abierto y f√°cilmente escalable. Es simple, f√°cil de usar y proporciona una interfaz web f√°cil de usar para la administraci√≥n y el monitoreo del sistema. ArangoDB se utiliza en organizaciones peque√Īas y grandes que procesan una gran cantidad de datos. ArangoDB admite tres modelos de datos clave/valor, documentos y gr√°ficos. ArangoDB proporciona un motor de almacenamiento para manejar conjuntos de datos que son mucho m√°s grandes que la RAM. ArangoDB te ayuda a configurar la base de datos en un maestro-esclavo para replicaci√≥n y fragmentaci√≥n.

En este tutorial, aprenderemos cómo instalar ArangoDB3 en el servidor Ubuntu 18.04.

Requisitos

  • Un servidor con Ubuntu 18.04.
  • Se configura una direcci√≥n IP est√°tica 192.168.0.104 en su servidor
  • Una contrase√Īa de root est√° configurada para su servidor.

Empezando

Antes de comenzar, deber√° actualizar su sistema con la √ļltima versi√≥n. Puede hacer esto ejecutando el siguiente comando:

apt-get update -y
apt-get upgrade -y

Una vez que su servidor esté actualizado, reinícielo para aplicar los cambios.

Instalar ArangoDB3

De forma predeterminada, ArangoDB no est√° disponible en el repositorio predeterminado de Ubuntu 18.04. Por lo tanto, deber√° agregar el repositorio para eso. Primero, descargue y agregue la clave GPG con el siguiente comando:

wget -q https://download.arangodb.com/arangodb34/DEBIAN/Release.key -O- | apt-key add -

A continuación, agregue el repositorio con el siguiente comando:

nano /etc/apt/sources.list.d/arangodb.list

Agregue la siguiente línea:

deb https://download.arangodb.com/arangodb34/DEBIAN/ /

Guarde y cierre el archivo cuando haya terminado. Luego, actualice el repositorio e instale ArangoDB3 con el siguiente comando:

apt-get update -y
apt-get install apt-transport-https arangodb3 -y

Durante la instalación, deberá responder a algunas preguntas:

Establezca la contrase√Īa ra√≠z de la base de datos como se muestra a continuaci√≥n:

Establecer la contrase√Īa ra√≠z de la base de datos

repite la contrase√Īa

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

Configurar arangodb

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

Seleccionar motor de almacenamiento

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

Copia de seguridad de archivos de base de datos

Una vez que la instalación se haya completado con éxito, inicie el servicio ArangoDB y habilítelo para que se inicie en el momento del arranque con el siguiente comando:

systemctl start arangodb3
systemctl enable arangodb3

Puede verificar el estado de ArangoDB con el siguiente comando:

systemctl status arangodb3

Debería ver el siguiente resultado:

? 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 puede proteger ArangoDB ejecutando el script arango-secure-installation.

Primero, detenga el servicio ArangoDB con el siguiente comando:

systemctl stop arangodb3

Luego, asegura ArangoDB con el siguiente comando:

arango-secure-installation
Please enter password for root user:
Repeat password:

Proporcione su raíz y presione Entrar, debería ver el siguiente resultado:

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

ArangoDB ahora est√° instalado y funcionando. Ahora puede iniciar el shell ArangoDB con el siguiente comando:

arangosh
Please specify a password:

Despu√©s de proporcionar la contrase√Īa de root, deber√≠a ver el siguiente resultado:

                                       _     
  __ _ _ __ __ _ _ __   __ _  ___  ___| |__  
 / _` | '__/ _` | '_ \ / _` |/ _ \/ __| '_ \ 
| (_| | | | (_| | | | | (_| | (_) \__ \ | | |
 \__,_|_|  \__,_|_| |_|\__, |\___/|___/_| |_|
                       |___/                 

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, cree una base de datos de muestra con el nombre mydb usando el siguiente comando:

127.0.0.1:[email protected]_system> db._createDatabase("mydb");

A continuaci√≥n, cree el usuario de la base de datos y establezca 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, conceda 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, enumere su base de datos con el siguiente comando:

127.0.0.1:[email protected]_system> db._databases()

Producción:

[ 
  "_system", 
  "mydb" 
]

Luego, conéctese a su base de datos mydb usando myuser con el siguiente comando:

arangosh --server.username "[email protected]" --server.database mydb
Please specify a password:

Proporcione su contrase√Īa de usuario y presione Entrar, deber√≠a ver el siguiente resultado:

                                       _     
  __ _ _ __ __ _ _ __   __ _  ___  ___| |__  
 / _` | '__/ _` | '_ \ / _` |/ _ \/ __| '_ \ 
| (_| | | | (_| | | | | (_| | (_) \__ \ | | |
 \__,_|_|  \__,_|_| |_|\__, |\___/|___/_| |_|
                       |___/                 

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]> 

Acceder a la interfaz web de ArangoDB

ArangoDB ahora est√° instalado y configurado, es hora de acceder a la interfaz web de ArangoDB. La interfaz web de ArangoDB se puede utilizar para administrar bases de datos, colecciones, documentos, usuarios, gr√°ficos y verificar el estado del servidor.

Por defecto, ArangoDB está configurado para acceder solo desde localhost. Por lo tanto, deberá configurar ArangoDB para acceder desde una ubicación remota. Puede 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

Guarde y cierre el archivo cuando haya terminado. Luego, reinicie el servicio ArangoDB para aplicar todos estos cambios:

systemctl restart arangodb3

Ahora, abra su navegador web y escriba la URL http://192.168.0.104:8529. Ser√° redirigido a la siguiente p√°gina:

Interfaz web ArangoDB

Ahora, proporcione su nombre de usuario y contrase√Īa ra√≠z. Luego, haga clic en el Acceso bot√≥n. Deber√≠as ver la siguiente p√°gina:

Acceso

Ahora, seleccione la base de datos y haga clic en el Seleccione base de datos. Debería ver el tablero de ArangoDB en la siguiente página:

Tablero de la base de datos ArangoDB

¬°Felicidades! Ha instalado y configurado correctamente ArangoDB en el servidor Ubuntu 18.04. No dude en preguntarme si tiene alguna pregunta.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *