OrientDB is a free and an open source NoSQL database management system with support for graph and document databases. It is written in Java can run on any operating system. OrientDB includes an integrated web-based graphical user interface to easily handle the database through a web browser. OrientDB is a fully ACID-complaint with help for multi-master replication, allowing uncomplicated crosswise measuring. OrientDB supports schema-less, schema-full and schema-mixed modes. OrientDB is available in two editions Community Edition and Enterprise Edition. OrientDB Community Edition is built upon by a community of developers and is free for any use.
- Supports horizontal scaling, fault tolerance, clustering and sharding.
- Can be up and running quickly.
- Supports HTTP, RESTful protocol, and JSON additional libraries.
- Provide an extensible framework for adding external authenticators and password validation.
- Support database encryption to prevent unauthorized users from accessing database content.
- Allows to import relational database into OrientDB.
In this tutorial, we will learn how to install and configure OrientDB on an Alibaba Cloud Elastic Compute Service (ECS) instance with Ubuntu 16.04.
- A fresh Alibaba Cloud ECS instance with Ubuntu 16.04 server installed.
- A static IP address 192.168.0.103 is configured on the instance
- A Root password is setup on the instance.
Launch Alibaba Cloud ECS Instance
First, log in to your https://ecs.console.aliyun.com">Alibaba Cloud ECS Console. Create a new ECS instance, choosing Ubuntu 16.04 as the operating system with at least 2GB RAM. Connect to your ECS instance and log in as the root user.
Once you are logged into your Ubuntu 16.04 instance, run the following command to update your base system with the latest available packages.
apt-get update -y
OrientDB is written in Java. So you will need to install Java to your system. You can install it using the following command:
apt-get install default-jre -y
Once the Java is installed, verify the version of the Java by running the following command:
openjdk version "1.8.0_171"
OpenJDK Runtime Environment (build 1.8.0_171-8u171-b11-0ubuntu0.16.04.1-b11)
OpenJDK 64-Bit Server VM (build 25.171-b11, mixed mode)
First, you will need to download the latest version of the OrientDB community edition from their official website. You can download it using the following command:
Once the download is completed, extract the downloaded file with the following command:
tar -xvzf orientdb-3.0.1.tar.gz
Next, copy the extracted directory to the /opt:
cp -r orientdb-3.0.1 /opt/orientdb
Next, start the OrientDB server using the following command:
You will need to specify a password for the root user when starting the server for the first time. Once the server starts successfully you should see the following 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: **********2018-06-02 09:48:01:860 INFO Installing dynamic plugin 'orientdb-etl-3.0.1.jar'...
2018-06-02 09:48:01:910 INFO Installing dynamic plugin 'orientdb-neo4j-importer-plugin-3.0.1-dist.jar'...
2018-06-02 09:48:01:941 INFO Installing dynamic plugin 'orientdb-teleporter-3.0.1.jar'...
2018-06-02 09:48:02:026 INFO Installing dynamic plugin 'orientdb-studio-3.0.1.zip'...
2018-06-02 09:48:02:061 INFO ODefaultPasswordAuthenticator is active
2018-06-02 09:48:02:081 INFO OServerConfigAuthenticator is active
2018-06-02 09:48:02:091 INFO OSystemUserAuthenticator is active
2018-06-02 09:48:02:106 INFO [OVariableParser.resolveVariables] Property not found: distributed
2018-06-02 09:48:02:232 WARNI Authenticated clients can execute any kind of code into the server by using the following allowed languages: [sql]
2018-06-02 09:48:02:253 INFO OrientDB Studio available at http://192.168.0.103:2480/studio/index.html
2018-06-02 09:48:02:260 INFO OrientDB Server is active v3.0.1 - Veloce (build d31da1499f29f04af751d0a8ad108152b2593c8b, branch develop).
OrientDB server is now up and listening on port 2424 and 2480. You can verify it using the following command:
netstat -ant | grep -i listen
You should see the following output:
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN
tcp 0 0 127.0.0.1:3306 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN
tcp6 0 0 :::2424 :::* LISTEN
tcp6 0 0 ::1:25 :::* LISTEN
tcp6 0 0 :::2480 :::* LISTEN
tcp6 0 0 :::22 :::* LISTEN
Connect to OrientDB Console
You can connect OrientDB console using the command line interface to working with the application. Run the following command to connect OrientDB console.
You should see the following output:
OrientDB console v.3.0.1 - Veloce (build d31da1499f29f04af751d0a8ad108152b2593c8b, branch develop) https://www.orientdb.com Type 'help' to display all the supported commands.
Now, connect to the server instance using the below command:
orientdb> connect remote:127.0.0.1 root
You can exit from the OrientDB console any time by pressing Ctrl+C.
Create OrientDB System Service
Next, you will need to create an OrientDB system service file to run OrientDB as a daemon on the system.
First, create a system user for OrientDB daemon with the following command:
useradd -r orientdb -s /sbin/nologin
Next, give proper permissions to the OrientDB directory:
chown -R orientdb:orientdb /opt/orientdb
Next, you will need to specify OrientDB path to the orientdb.sh script:
Make the following changes:
Save and close the file, when you are finished. Then modify the server configuration file’s permissions to prevent unauthorized access.
chmod 640 /opt/orientdb/config/orientdb-server-config.xml
Next, you will need to copy OrientDB default Systemd service file to the /etc/systemd/system directory.
cp /opt/orientdb/bin/orientdb.service /etc/systemd/system/
Next, open orientdb.service file and make some changes:
Make the following changes under [Service] section:
Save and close the file, then reload unit file:
Finally, start OrientDB service and enable it to start on boot time with the following command:
systemctl start orientdb
systemctl enable orientdb
You can check the status of OrientDB process using the following command:
systemctl status orientdb
● orientdb.service - OrientDB Server
Loaded: loaded (/etc/systemd/system/orientdb.service; enabled; vendor preset: enabled)
Active: active (running) since Sat 2018-06-02 10:44:53 IST; 3s ago
Main PID: 2922 (java)
└─2922 java -server -Xms1G -Xmx1G -Djna.nosys=true -XX:+HeapDumpOnOutOfMemoryError -Djava.awt.headless=true -Dfile.encoding=UTF8 -DrJun 02 10:44:53 Node1 server.sh: .,,,,::,,,,,,,: `: , ,, : ` : : .: ::: ::: ::: :::
Jun 02 10:44:53 Node1 server.sh: ...,::,,,,::.. `: .,, :, : : : .: ::::::::::: ::: :::
Jun 02 10:44:53 Node1 server.sh: ,::::,,,. `: ,, ::::: : : .: ::::::::: ::::::::::
Jun 02 10:44:53 Node1 server.sh: ,,:` `,,.
Jun 02 10:44:53 Node1 server.sh: ,,, .,`
Jun 02 10:44:53 Node1 server.sh: ,,. `, VELOCE
Jun 02 10:44:53 Node1 server.sh: `` `.
Jun 02 10:44:53 Node1 server.sh: `` www.orientdb.com
Jun 02 10:44:53 Node1 server.sh: `
Jun 02 10:44:53 Node1 server.sh: removing old pid file /opt/orientdb/bin/orient.pid
Access OrientDB Web Interface
OrientDB is now installed and configured, it’s time to access OrientDB Web Interface.
Open your web browser and type the URL http://192.168.0.103:2480/studio/index.html, you will be redirected to the following page:
Provide username as root and the password you set earlier, then click on the CONNECT button, you should see the following page:
Secure OrientDB Web Server
The default OrientDB installation allows access to OrientDB Studio from the public network. So it is recommended to prevent the access from the Internet to OrientDB Studio and console. You can do this by editing the orientdb-server-config.xml file:
Replace the following lines from:
<listener protocol="binary" socket="default" port-range="2424-2430" ip-address="0.0.0.0"/>
<listener protocol="http" socket="default" port-range="2480-2490" ip-address="0.0.0.0">
<listener protocol="binary" socket="default" port-range="2424-2430" ip-address="127.0.0.1"/>
<listener protocol="http" socket="default" port-range="2480-2490" ip-address="127.0.0.1">
Save and close the file. Then restart OrientDB service with the following command:
systemctl restart orientdb
Now, open your web browser and type the URL http://192.168.0.103:2480/studio/index.html, you will get the connection will be denied message.
Related Alibaba Cloud Products
Batch Compute is a cloud service for massive simultaneous batch processing. The system automatically manages resources, schedules tasks, loads data, and bills by usage. Batch Compute is already widely used in scenarios such as scientific applications, genetic data analysis, CGI rendering, media transcoding, and financial data analysis.
Function Compute is an event driven, serverless computing platform that enables developers to build and deploy their services without the need to manage any infrastructure. It seamlessly handles the resource management, auto scaling, and load balancing so you can focus on your business logic and increase your development velocity. You can also setup various event sources from other Alibaba services to automatically trigger your code to run. The best part is you only pay for the resources your code actually consumes to the nearest 100 milliseconds.