So installieren und konfigurieren Sie OrientDB unter Ubuntu 16.04

Einführung

OrientDB ist eine NoSQL-Datenbank mit mehreren Modellen und Unterstützung für Diagramm- und Dokumentendatenbanken. Es ist eine Java-Anwendung und kann auf jedem Betriebssystem ausgeführt werden. Es ist auch eine vollständige ACID-Beschwerde mit Unterstützung für die Multi-Master-Replikation, die eine einfache horizontale Skalierung ermöglicht.

In diesem Artikel installieren und konfigurieren Sie die neueste Community Edition von OrientDB auf einem Ubuntu 16.04-Server.

Voraussetzungen

Um diesem Tutorial zu folgen, benötigen Sie:

[[Schritt-1 - Herunterladen und Installieren von orientdb]] == Schritt 1 - Herunterladen und Installieren von OrientDB

In diesem Schritt laden wir die neueste Community-Edition von OrientDB herunter und installieren sie im Verzeichnis/opt, dem traditionellen Speicherort für die Installation von Anwendungen von Drittanbietern unter Linux.

Stellen Sie vor dem Start sicher, dass die Pakete auf Ihrem System auf dem neuesten Stand sind.

sudo apt-get update

Net, laden Sie die neueste Version der OrientDB Community herunter. Zum Zeitpunkt der Veröffentlichung ist dies 2.2.20, aber Sie könnenthe project’s download page auf die neueste Version überprüfen und die Versionsnummer im folgenden Befehl entsprechend ändern.

wget -O orientdb-community-2.2.20.tar.gz http://orientdb.com/download.php?file=orientdb-community-2.2.20.tar.gz&os=linux

Der heruntergeladene Tarball enthält vorkompilierte Binärdateien, die Sie zum Ausführen von OrientDB auf Ihrem System benötigen. Sie müssen ihn also nur noch entpacken.

tar -zxvf orientdb-community-2.2.20.tar.gz

Die Dateien werden in ein Verzeichnis mit dem Namenorientdb-community-2.2.20 extrahiert. Jetzt müssen Sie es in die/opt+`directory, renaming it to `+orientdb verschieben.

sudo mv ~/orientdb-community-2.2.20 /opt/orientdb

OrientDB ist jetzt installiert. Wenn Sie einen Server mit eingeschränktem Speicher verwenden, können Sie OrientDB im nächsten Schritt so konfigurieren, dass weniger RAM verwendet wird. Andernfalls können Sie mit Schritt 3 fortfahren, um den Server selbst zu starten.

[[Schritt-2 - Konfigurieren von orientdb-to-use-less-ram-optional]] == Schritt 2 - Konfigurieren von OrientDB für weniger RAM (optional)

Standardmäßig erwartet der OrientDB-Daemon, dass mindestens 2 GB RAM verfügbar sind, und startet nicht, wenn weniger gefunden werden. Sie werden einen solchen Fehler sehen, wenn Sie versuchen, ihn trotzdem zu starten:

Outputubuntu-orientdb server.sh[1670]: Java HotSpot(TM) 64-Bit Server VM warning: INFO: os::commit_memory(0x00000000aaaa0000, 1431699456, 0) failed; error='Cannot allocate memory' (errno=12)
ubuntu-orientdb server.sh[1670]: # There is insufficient memory for the Java Runtime Environment to continue.

Sie können eine Konfigurationsänderung vornehmen, die es Ihnen ermöglicht, keinen Server mit nur 512 MB RAM zu verwenden. Dies ist eine Funktion einer Einstellung in derserver.sh-Datei, die geändert werden kann, damit der Dämon mit weitaus weniger RAM gestartet werden kann.

Öffnen Sie die Datei mitnano oder Ihrem bevorzugten Texteditor.

sudo nano /opt/orientdb/bin/server.sh

Scrollen Sie dann zu dem Abschnitt, der den in diesem Codeblock gezeigten Codeabschnitt enthält:

/opt/orientdb/bin/server.sh

. . .
# ORIENTDB memory options, default to 2GB of heap.

if [ -z "$ORIENTDB_OPTS_MEMORY" ] ; then
    ORIENTDB_OPTS_MEMORY="-Xms2G -Xmx2G"
fi
. . .

Die Werte, die Sie ändern müssen, sindXms undXmx, die den anfänglichen und maximalen Speicherzuweisungspool für die Java Virtual Machine angeben. Standardmäßig sind sie auf 2 GB eingestellt.

Sie können neue Werte festlegen, die geringer sind als die dem Server zugewiesene RAM-Größe. Stellen Sie jedoch sicher, dassXms mindestens 128 MB beträgt, da OrientDB sonst nicht gestartet wird. Mit den folgenden Werten werden beispielsweise die anfängliche und die maximale RAM-Größe auf 128 MB bzw. 256 MB festgelegt.

/opt/orientdb/bin/server.sh

# ORIENTDB memory options, default to 2GB of heap.

if [ -z "$ORIENTDB_OPTS_MEMORY" ] ; then
    ORIENTDB_OPTS_MEMORY="-Xms128m -Xmx256m"
fi

Speichern und schließen Sie die Datei. Im nächsten Schritt starten Sie OrientDB.

[[Schritt 3 - Starten des Servers]] == Schritt 3 - Starten des Servers

Nachdem die Binärdatei vorhanden ist und Sie den Server optional so konfiguriert haben, dass weniger RAM verwendet wird, können Sie den Server jetzt starten und eine Verbindung zur Konsole herstellen.

Navigieren Sie zum Installationsverzeichnis.

cd /opt/orientdb

Starten Sie dann den Server.

sudo bin/server.sh

Wenn Sie den Server zum ersten Mal starten, werden Sie aufgefordert, ein Kennwort für das Benutzerkonto vonrootanzugeben. Dies ist ein internes OrientDB-Konto, das für den Zugriff auf den Server verwendet wird, beispielsweise für OrientDB Studio, die webbasierte Oberfläche zur Verwaltung von OrientDB. Wenn Sie kein Passwort angeben, wird automatisch eines generiert. Es ist jedoch am besten, wenn Sie selbst eine angeben. Tun Sie dies, wenn Sie dazu aufgefordert werden.

Ein Teil der Ausgabe, die beim Starten des Servers generiert wird, gibt Auskunft darüber, welche Ports der Server und OrientDB Studio abhören.

Output2017-02-04 19:13:21:306 INFO  Listening binary connections on 0.0.0.0:2424 (protocol v.36, socket=default) [OServerNetworkListener]
2017-02-04 19:13:21:310 INFO  Listening http connections on 0.0.0.0:2480 (protocol v.10, socket=default) [OServerNetworkListener]
. . .
2017-02-04 19:13:21:372 INFO  OrientDB Studio available at http://192.168.0.30:2480/studio/index.html [OServer]
2017-02-04 19:13:21:374 INFO  OrientDB Server is active v2.2.20 (build UNKNOWN@r98dbf8a2b8d43e4af09f1b12fa7ae9dfdbd23f26; 2017-02-02 07:01:26+0000).
[OServer]

Wenn Sie dies sehen, wird OrientDB jetzt in Ihrem aktuellen Terminal ausgeführt. Vergewissern Sie sich, dass der Server die entsprechenden Ports überwacht.

Öffnen Sie ein zweites Terminal und stellen Sie über SSH eine Verbindung zum gleichen Server her.

ssh sammy@your_server_ip

Vergewissern Sie sich dann in diesem zweiten Terminal, dass der Server die Ports2424 (für binäre Verbindungen) und2480 (für HTTP-Verbindungen) mit dem folgenden Befehl überwacht.

sudo netstat -plunt | grep -i listen

Die Ausgabe sollte Verweise auf beide Portnummern enthalten, wie folgt:

Outputtcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      1160/sshd
tcp6       0      0 :::2480                 :::*                    LISTEN      2758/java
tcp6       0      0 :::22                   :::*                    LISTEN      1160/sshd
tcp6       0      0 :::2424                 :::*                    LISTEN      2758/java

Nachdem der Server gestartet wurde und Sie überprüft haben, ob er ausgeführt wird, stellen Sie im zweiten Terminal eine Verbindung zur OrientDB-Konsole her.

[[Schritt 4 - Verbindung zur Konsole herstellen]] == Schritt 4 - Verbindung zur Konsole herstellen

Die OrientDB-Konsole ist die Befehlszeilenschnittstelle für die Arbeit mit der Anwendung. Geben Sie zum Starten Folgendes ein:

sudo /opt/orientdb/bin/console.sh

Sie werden folgendes sehen:

OutputOrientDB console v.2.2.20 (build UNKNOWN@r98dbf8a2b8d43e4af09f1b12fa7ae9dfdbd23f26; 2017-02-02 07:01:26+0000) www.orientdb.com
Type 'help' to display all the supported commands.
Installing extensions for GREMLIN language v.2.6.0


orientdb>

Stellen Sie nun eine Verbindung zur Serverinstanz her. Das erforderliche Kennwort ist dasjenige, das Sie beim ersten Starten des Servers im vorherigen Schritt angegeben haben.

connect remote:127.0.0.1 root root-password

Diese Ausgabe wird angezeigt, wenn Sie erfolgreich eine Verbindung hergestellt haben.

OutputConnecting to remote Server instance [remote:127.0.0.1] with user 'root'...OK
orientdb {server=remote:127.0.0.1/}>

Wenn dies nicht der Fall ist, überprüfen Sie noch einmal, ob Sie das Root-Passwort korrekt eingegeben haben und OrientDB noch in Ihrem ersten Terminal ausgeführt wird.

Wenn Sie bereit sind, geben Sieexit in Ihr zweites Terminal ein, um die OrientDB-Eingabeaufforderung zu beenden.

exit

Sie haben OrientDB gerade installiert, manuell gestartet und eine Verbindung hergestellt. Dies bedeutet, dass OrientDB funktioniert, aber Sie müssen es auch jedes Mal manuell starten, wenn Sie den Server neu starten. In den nächsten Schritten konfigurieren und konfigurieren wir OrientDB so, dass es wie jeder andere Dämon auf dem Server ausgeführt wird.

[[Schritt-5 - Konfigurieren von Orientdb als Daemon] == Schritt 5 - Konfigurieren von OrientDB als Daemon

Zu diesem Zeitpunkt ist OrientDB installiert, es handelt sich jedoch nur um eine Reihe von Skripten auf dem Server. In diesem Schritt konfigurieren wir es so, dass es als Daemon auf dem System ausgeführt wird. Dazu müssen das Skript/opt/orientdb/bin/orientdb.shund die Konfigurationsdatei/opt/orientdb/config/orientdb-server-config.xml geändert werden.

Geben Sie zunächstCTRL+C in Ihr erstes Terminalfenster ein, während OrientDB noch ausgeführt wird, um es zu stoppen. Sie können jetzt auch die zweite Terminalverbindung schließen.

Beginnen wir damit, das Skript/opt/orientdb/bin/orientdb.shzu ändern, um OrientDB den Benutzer mitzuteilen, unter dem es ausgeführt werden soll, und um es auf das Installationsverzeichnis zu verweisen.

Erstellen Sie also den Systembenutzer, unter dem OrientDB ausgeführt werden soll. In diesem Beispiel erstellen wir den Benutzerorientdb. Der Befehl erstellt auch die Gruppeorientdb:

sudo useradd -r orientdb -s /sbin/nologin

Geben Sie dem neu erstellten OrientDB-Benutzer und der neu erstellten OrientDB-Gruppe den Besitz des OrientDB-Verzeichnisses und der Dateien.

sudo chown -R orientdb:orientdb /opt/orientdb

Nehmen wir nun einige Änderungen am Skriptorientdb.shvor.

sudo nano /opt/orientdb/bin/orientdb.sh

Zuerst müssen wir es auf das richtige Installationsverzeichnis verweisen und ihm dann mitteilen, unter welchem ​​Benutzer es ausgeführt werden soll. Suchen Sie nach den folgenden zwei Zeilen oben in der Datei:

/opt/orientdb/bin/orientdb.sh

. . .
# You have to SET the OrientDB installation directory here
ORIENTDB_DIR="YOUR_ORIENTDB_INSTALLATION_PATH"
ORIENTDB_USER="USER_YOU_WANT_ORIENTDB_RUN_WITH"
. . .

Und ändern Sie sie in/opt/orientdb bzw.orientdb.

/opt/orientdb/bin/orientdb.sh

# You have to SET the OrientDB installation directory here
ORIENTDB_DIR="/opt/orientdb"
ORIENTDB_USER="orientdb"

Speichern und schließen Sie die Datei.

Ändern Sie anschließend die Berechtigungen der Serverkonfigurationsdatei, um zu verhindern, dass nicht autorisierte Benutzer sie lesen.

sudo chmod 640 /opt/orientdb/config/orientdb-server-config.xml

Weitere Informationen zu Dateiberechtigungen finden Sie inthis Linux permissions tutorial.

Im nächsten Schritt konfigurieren wir den Daemon so, dass er vonSystemd, the service manager gesteuert wird.

[[Schritt 6 - Installieren des Systemd-Startskripts]] == Schritt 6 - Installieren des Systemd-Startskripts

OrientDB wird mit einer Systemd-Dienstdeskriptordatei geliefert, die für das Starten und Stoppen des Dienstes verantwortlich ist. Diese Datei muss in das Verzeichnis/etc/systemd/systemkopiert werden.

sudo cp /opt/orientdb/bin/orientdb.service /etc/systemd/system

Die Datei enthält einige Einstellungen, die geändert werden müssen. Öffnen Sie sie zum Bearbeiten.

sudo nano /etc/systemd/system/orientdb.service

Ändern Sie die VariablenUser,Group undExecStart unterService entsprechend Ihrer Installation. Sie legen den Benutzer und die Gruppe in Schritt 5 fest (beide sindorientdb, wenn Sie den Schritt wörtlich befolgt haben). ExecStart gibt den Pfad zum Skript an, der mit/opt/orientdb beginnen soll, wenn Sie dieses Tutorial wie geschrieben befolgt haben.

/etc/systemd/system/orientdb.service

. . .

[Service]
User=orientdb
Group=orientdb
ExecStart=/opt/orientdb/bin/server.sh

Speichern und schließen Sie die Datei.

Führen Sie dann den folgenden Befehl aus, um alle Einheiten neu zu laden.

sudo systemctl daemon-reload

Wenn alles eingerichtet ist, können Sie jetzt den OrientDB-Dienst starten.

sudo systemctl start orientdb

Und stellen Sie sicher, dass es beim Booten gestartet wird.

sudo systemctl enable orientdb

Stellen Sie sicher, dass es wirklich gestartet ist, indem Sie den Prozessstatus überprüfen.

sudo systemctl status orientdb
Output● orientdb.service - OrientDB Server
   Loaded: loaded (/etc/systemd/system/orientdb.service; disabled; vendor preset: enabled)
   Active: active (running) since Sat 2017-02-04 20:54:27 CST; 11s ago
 Main PID: 22803 (java)
    Tasks: 14
   Memory: 126.4M
. . .

Wenn der Server nicht startet, suchen Sie in der Ausgabe nach Hinweisen. Im nächsten Schritt erfahren Sie, wie Sie eine Verbindung zu OrientDB Studio herstellen, der Webbenutzeroberfläche der Anwendung.

[[Schritt-7 -—- Verbindung zu orientdb-studio herstellen]] == Schritt 7 - Verbindung zu OrientDB Studio herstellen

OrientDB Studio ist das Webinterface zur Verwaltung von OrientDB. Dies ist zu Testzwecken nützlich, obwohl es einbetter security practiceist, um den Zugriff darauf vollständig einzuschränken.

Wenn Sie es zum Testen aktivieren möchten, müssen Sie Ihrer Firewall eine Regel hinzufügen. Standardmäßig überwacht OrientDB Studio Port2480. Wenn Sie also die Firewall auf dem Server konfiguriert haben, müssen Sie den Zugriff auf Port2480 zulassen.

sudo ufw allow 2480

Starten Sie dann UFW neu.

sudo systemctl restart ufw

Um eine Verbindung zu OrientDB Studio herzustellen, besuchen Siehttp://your_server_ip:2480 in Ihrem Browser. Sobald die Seite geladen ist, wird der Anmeldebildschirm angezeigt.

Sie können sich mit dem zuvor festgelegten Kennwort alsroot anmelden. Sie können auch die DatenbankGratefulDeadConcertsauswählen und sich mit einem der in OrientDB enthaltenen Standardbenutzerkonten anmelden (admin,reader oderwriter).

Fazit

Sie haben gerade die Community Edition von OrientDB auf Ihrem Ubuntu 16.04-Server installiert, ihre Konfiguration angepasst und sie als Daemon eingerichtet, der von systemd verwaltet werden soll.

Als Nächstes sollten Sie die Anwendung vor nicht autorisierten Benutzern schützen, indem Sie einige Sicherheitstipps mitthis OrientDB security tutorial anwenden. Wenn Sie eine vorhandene OrientDB-Installation haben, die Sie in eine neue Installation importieren müssen, verwenden Siethis migration guide, das für Ubuntu 14.04 geschrieben wurde, aber auch für Ubuntu 16.04 funktioniert.

Weitere Informationen zu OrientDB finden Sie unterthe project’s official documentation.