installeer je ArangoDB NoSQL Database op Ubuntu 18.04 LTS

ArangoDB is een vrije en open bron, NoSQL en multi-model databank die alle databasefuncties biedt die nodig zijn voor een moderne webapplicatie. ArangoDB gebruikt niet het traditionele gegevensopslagsysteem zoals in MySQL of PostgreSQL. Het is speciaal ontworpen om hoge prestaties te leveren, open source te zijn en gemakkelijk schaalbaar. Het is eenvoudig, gemakkelijk te gebruiken en biedt een gebruikersvriendelijke web-gebaseerde interface voor systeembeheer en systeembewaking. ArangoDB wordt gebruikt in kleine en grote organisaties die enorme hoeveelheden gegevens verwerken. ArangoDB ondersteunt drie gegevensmodellen sleutel/waarde, documenten en grafieken. ArangoDB biedt een opslagmotor om datasets aan te kunnen die veel groter zijn dan RAM. ArangoDB helpt je om de databank op te zetten in een master-slave voor Replicatie en Sharding.

In deze handleiding leren we hoe je ArangoDB3 op een Ubuntu 18.04 server kunt installeren.

Vereisten

  • Een server met Ubuntu 18.04.
  • Een statisch IP adres 192.168.0.104 is ingesteld op je server
  • Een root wachtwoord is ingesteld op je server.

Aan de slag

Voor je begint moet je je systeem updaten met de nieuwste versie. Je kunt dit doen door het volgende commando uit te voeren:

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

Zodra je server is bijgewerkt, herstart je je server om de veranderingen toe te passen.

Installeer ArangoDB3

ArangoDB is standaard niet beschikbaar in de Ubuntu 18.04 standaard repository. Je zult dus de repository daarvoor moeten toevoegen. Download eerst de GPG sleutel en voeg die toe met het volgende commando:

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

Voeg vervolgens de repository toe met het volgende commando:

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

Voeg de volgende regel toe:

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

Bewaar en sluit het bestand, als je klaar bent. Werk dan de repository bij en installeer ArangoDB3 met het volgende commando:

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

Tijdens de installatie moet je een antwoord geven op enkele vragen:

Stel het database root wachtwoord in zoals hieronder:

Stel het root wachtwoord voor de database in

Herhaal het wachtwoord

Kies automatisch bijwerken van databasebestanden zoals hieronder:

Configureer arangodb

Kies de database storage engine zoals hieronder getoond:

Kies opslagmotor

Maak een back-up van de database voordat je een upgrade doet zoals hieronder:

Back-up database bestanden

Zodra de installatie met succes voltooid is, start je de ArangoDB service en zet je hem aan om bij het opstarten te starten met het volgende commando:

systemctl start arangodb3
systemctl enable arangodb3

Je kunt de status van ArangoDB controleren met het volgende commando:

systemctl status arangodb3

Je zou de volgende uitvoer moeten zien:

? 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!

Je kunt de ArangoDB ook beveiligen door het arango-secure-installation script uit te voeren.

Stop eerst de ArangoDB dienst met het volgende commando:

systemctl stop arangodb3

Beveilig dan ArangoDB met het volgende commando:

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

Geef je root op en druk op Enter, je zou de volgende uitvoer moeten zien:

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.

Werken met ArangoDB

ArangoDB is nu geïnstalleerd en draait. Je kunt nu ArangoDB shell starten met het volgende commando:

arangosh
Please specify a password:

Na het invoeren van het root wachtwoord zou je de volgende uitvoer moeten zien:

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

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> 

Maak nu een voorbeelddatabank aan met de naam mydb met het volgende commando:

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

Maak vervolgens database gebruiker en stel wachtwoord in met het volgende commando:

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
}

Verleen vervolgens toegang tot de database met het volgende commando:

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

Maak vervolgens een lijst van je database met het volgende commando:

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

Uitvoer:

[ 
  "_system", 
  "mydb" 
]

Maak vervolgens verbinding met je mydb database met de myuser met het volgende commando:

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

Geef je gebruikerswachtwoord en druk op Enter, je zou de volgende uitvoer moeten zien:

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

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

Toegang tot de ArangoDB Web Interface

ArangoDB is nu geïnstalleerd en geconfigureerd, het is tijd om de ArangoDB webinterface te openen. De ArangoDB webinterface kan gebruikt worden om databanken, verzamelingen, documenten, gebruikers, grafieken te beheren en de status van de server te controleren.

Standaard is ArangoDB geconfigureerd om alleen vanaf localhost toegang te hebben. Je zult dus ArangoDB moeten configureren voor toegang vanaf een andere locatie. Je kunt dat doen door het bestand /etc/arangodb3/arangod.conf te bewerken:

nano /etc/arangodb3/arangod.conf

Verander de volgende regel:

Van :

endpoint = tcp://127.0.0.1:8529

in

endpoint = tcp://192.168.0.104:8529

Bewaar en sluit het bestand, als je klaar bent. Herstart dan de ArangoDB dienst om al deze veranderingen toe te passen:

systemctl restart arangodb3

Open nu je web browser en typ de URL http://192.168.0.104:8529. Je wordt doorverwezen naar de volgende pagina:

ArangoDB webinterface

Geef nu je root gebruikersnaam en wachtwoord op. Klik dan op de knop Login. Je zou de volgende pagina moeten zien:

Inloggen

Kies nu de database en klik op de knop Select DB. Je zou nu het ArangoDB dashboard moeten zien op de volgende pagina:

ArangoDB databank dashboard

Gefeliciteerd! Je hebt met succes ArangoDB geïnstalleerd en ingesteld op de Ubuntu 18.04 server. Stel me gerust als je nog vragen hebt.