In this tutorial, I’ll show you how to install OrientDB on your Ubuntu 22.04|20.04|18.04 server. OrientDB is the world’s leading open source NoSQL multi-model database management system written in Java. It is the most versatile DBMS which supports Graph, Document, Reactive, Full-Text, Geospatial and Key-Value models in one Multi-Model product.
You can run OrientDB in a distributed (Multi-Master) setup and supports SQL, ACID Transactions, Full-Text indexing and Reactive Queries. To know the power of OrientDB, take a look at OrientDB vs MongoDB for Document Databases and OrientDB vs Neo4j to have a comparison with a popular Graph Database.
Install and Configure OrientDB on Ubuntu 22.04|20.04|18.04
In this guide, we will install OrientDB Community Edition which is available as a binary package for download. Open OrientDB downloads page.
Step 1: Install OrientDB Dependencies.
Java is needed on your Ubuntu 22.04|20.04|18.04 system to run OrientDB database system. Install it like below:
sudo apt update && sudo apt upgrade -y
sudo apt install apt-transport-https default-jdk-headless vim bash-completion
Install wget to download OriendDB installation file:
sudo apt install vim wget curl
Step 2: Install OrientDB on Ubuntu 22.04|20.04|18.04 LTS
Once wget is installed, download the archive file. Check Github releases page for the latest releases.
export RELEASE=$(curl -s https://api.github.com/repos/orientechnologies/orientdb/releases/latest|grep tag_name|cut -d '"' -f 4)
wget https://repo1.maven.org/maven2/com/orientechnologies/orientdb-community/$RELEASE/orientdb-community-$RELEASE.tar.gz
Uncompress the file:
tar xvf orientdb-community-$RELEASE.tar.gz
Move the resulting directory to /opt/orientdb
sudo mv orientdb-community-$RELEASE/ /opt/orientdb
Add system user to manage orientdb:
sudo groupadd -r orientdb
sudo useradd --system -g orientdb orientdb
sudo chown -R orientdb:orientdb /opt/orientdb
Create a root password:
cd /opt/orientdb/bin/
sudo ./server.sh
Sample output:
+---------------------------------------------------------------+
| WARNING: FIRST RUN CONFIGURATION |
+---------------------------------------------------------------+
| This is the first time the server is running. Please type a |
| password of your choice for the 'root' user or leave it blank |
| to auto-generate it. |
| |
| To avoid this message set the environment variable or JVM |
| setting ORIENTDB_ROOT_PASSWORD to the root password to use. |
+---------------------------------------------------------------+
Root password [BLANK=auto generate it]: **************
Please confirm the root password: **************
OrientDB Studio will be available at:
http://server_ip:2480/studio/index.html
Step 3: Configure the OrientDB systemd service
The OrientDB’s package contains a service descriptor file for systemd based distros. The orientdb.service
is placed in the bin directory. You can use locate command to find this fule path:
$ sudo find /opt/orientdb -name orientdb.service
/opt/orientdb/bin/orientdb.service
Copy the service unit file to /etc/systemd/system/
directory.
sudo cp /opt/orientdb/bin/orientdb.service /etc/systemd/system/
Edit the file to set user and group for running the application.
sudo vim /etc/systemd/system/orientdb.service
It should look like below:
# Copyright (c) OrientDB LTD (http://http://orientdb.com/)
#
[Unit]
Description=OrientDB Server
After=network.target
After=syslog.target
[Install]
WantedBy=multi-user.target
[Service]
User=orientdb
Group=orientdb
ExecStart=/opt/orientdb/bin/server.sh
Set data directory permissions:
sudo chown -R orientdb:orientdb /opt/orientdb/
Start orientdb service:
sudo systemctl daemon-reload
sudo systemctl start orientdb
Check the service status:
$ systemctl status orientdb
● orientdb.service - OrientDB Server
Loaded: loaded (/etc/systemd/system/orientdb.service; disabled; vendor preset: enabled)
Active: active (running) since Thu 2022-10-13 00:20:13 EAT; 32s ago
Main PID: 5399 (java)
Tasks: 23 (limit: 9460)
Memory: 196.8M
CPU: 3.526s
CGroup: /system.slice/orientdb.service
└─5399 /bin/java -server -Xms2G -Xmx2G -Djna.nosys=true -XX:+HeapDumpOnOutOfMemoryError -Djava.awt.headless=true -Dfile.encoding=UTF8 -Drhino.opt.level=9 -Djava.util.logging.manager=co>
Oct 13 00:20:18 jammy server.sh[5399]: 2022-10-13 00:20:18:120 INFO DWL:OSystem: block size = 4096 bytes, maximum segment size = 1321 MB [DoubleWriteLogGL]
Oct 13 00:20:19 jammy server.sh[5399]: 2022-10-13 00:20:18:858 INFO Storage 'plocal:/opt/orientdb/databases/OSystem' is opened under OrientDB distribution : 3.2.10 (build 2486dd95b4df421b5de9a2e77>
Oct 13 00:20:19 jammy server.sh[5399]: 2022-10-13 00:20:19:545 INFO Listening binary connections on 0.0.0.0:2424 (protocol v.38, socket=default) [OServerNetworkListener]
Oct 13 00:20:19 jammy server.sh[5399]: 2022-10-13 00:20:19:554 INFO Listening http connections on 0.0.0.0:2480 (protocol v.10, socket=default) [OServerNetworkListener]
Oct 13 00:20:19 jammy server.sh[5399]: 2022-10-13 00:20:19:689 INFO Found ORIENTDB_ROOT_PASSWORD variable, using this value as root's password [OServer]
Oct 13 00:20:19 jammy server.sh[5399]: 2022-10-13 00:20:19:705 INFO Installing dynamic plugin 'orientdb-studio-3.2.10.zip'... [OServerPluginManager]
Oct 13 00:20:19 jammy server.sh[5399]: 2022-10-13 00:20:19:710 INFO Installing dynamic plugin 'orientdb-etl-3.2.10.jar'... [OServerPluginManager]
Oct 13 00:20:19 jammy server.sh[5399]: 2022-10-13 00:20:19:733 INFO [OVariableParser.resolveVariables] Property not found: distributed [orientechnologies]
Oct 13 00:20:19 jammy server.sh[5399]: 2022-10-13 00:20:19:757 WARNI Authenticated clients can execute any kind of code into the server by using the following allowed languages: [sql] [OServerSideS>
Oct 13 00:20:19 jammy server.sh[5399]: 2022-10-13 00:20:19:767 INFO OrientDB Studio available at http://192.168.200.8:2480/studio/index.html [OServer]
Your orientdb service should now be running. Open the UI using:
http://server:2480/studio/index.html
http://192.168.200.8:2480/studio/index.html
Login with the username root and password configured earlier.
Thank you for using our guide to install OrientDB on Ubuntu 22.04|20.04|18.04 Linux systems.
More guides:
- Create and grant privileges to users in CloudSQL Databases using Terraform
- Best Books To Learn MySQL / MariaDB Databases