介绍
OrientDB是支持图形和文档数据库的多模型NoSQL数据库。 它是一个Java应用程序,可以在任何操作系统上运行。 它也完全支持ACID投诉,支持多主复制,允许轻松的水平缩放。
在本文中,您将在Ubuntu 16.04服务器上安装和配置OrientDB的最新社区版本。
先决条件
要遵循本教程,您将需要:
- 一个Ubuntu 16.04服务器,至少有2GB的RAM理想,但即使是512MB也可以工作。
- 一个sudo非root用户和防火墙,通过使用Ubuntu 16.04遵循此初始服务器设置进行设置 。
- Java已安装,您可以通过遵循此Java安装指南的JDK 8步骤来执行此操作 。
第1步 - 下载和安装OrientDB
在此步骤中,我们将下载最新的OrientDB社区版本,并将其安装到/opt
目录中,该目录是在Linux中安装第三方应用程序的传统位置。
在开始之前,请确保系统上的软件包是最新的。
sudo apt-get update
Net,下载最新版本的OrientDB社区。 在发布时,这是2.2.16,但是您可以检查项目的下载页面以获取最新版本,并在下面的命令中更改版本号以进行匹配。
wget http://mkt.orientdb.com/CE-2216-multiOS -O orientdb-community-2.2.16.tar.gz
下载unzip
即可unzip
tarball。
sudo apt-get install unzip
下载的tarball包含您需要在系统上运行OrientDB的预编译二进制文件,因此您现在需要执行的所有操作都将解压缩。
unzip orientdb-community-2.2.16.tar.gz
这些文件被提取到名为orientdb-community- 2.2.16
。 现在,您需要将其移动到/opt
目录中,将其重命名为orientdb
中的orientdb
。
sudo mv ~/orientdb-community-2.2.16 /opt/orientdb
OrientDB已安装。 如果您使用内存受限服务器,则可以在下一步中配置OrientDB使用较少的RAM。 否则,您可以转到第3步启动服务器本身。
第2步 - 配置OrientDB使用较少的RAM(可选)
默认情况下,OrientDB守护程序期望至少有2 GB的RAM可用,如果发现较少,则无法启动。 如果您尝试启动它,您会看到类似的错误:
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.
您可以进行一个配置更改,使您可以使用只有512 MB RAM的服务器。 它是在server.sh
文件中的一个设置的功能,可以更改,以便守护程序可以从更少的RAM开始。
用nano
或您喜欢的文本编辑器打开文件。
sudo nano /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
. . .
您需要更改的值为Xms
和Xmx
,它们指定Java虚拟机的初始和最大内存分配池。 默认情况下,它们设置为2GB。
您可以设置小于分配给服务器的RAM数量的新值,但请确保Xms
至少为128 MB或OrientDB将无法启动。 例如,下面的值将ram的初始和最大数量分别设置为128MB和256MB。
# ORIENTDB memory options, default to 2GB of heap.
if [ -z "$ORIENTDB_OPTS_MEMORY" ] ; then
ORIENTDB_OPTS_MEMORY="-Xms128m -Xmx256m"
fi
保存并关闭文件。 在下一步中,您将启动OrientDB。
第3步 - 启动服务器
现在二进制码已经到位,您可以选择配置服务器使用较少的RAM,现在可以启动服务器并连接到控制台。
导航到安装目录。
cd /opt/orientdb
然后启动服务器。
sudo bin/server.sh
首次启动服务器时,系统将提示您指定root用户帐户的密码。 这是一个内部OrientDB帐户,将用于访问服务器,如OrientDB Studio,用于管理OrientDB的基于Web的界面。 如果不指定密码,将自动生成。 但是,最好自己指定一个,所以在出现提示时这样做。
从启动服务器生成的输出的一部分告诉您服务器和OrientDB Studio正在监听哪些端口。
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.16 (build UNKNOWN@r98dbf8a2b8d43e4af09f1b12fa7ae9dfdbd23f26; 2017-02-02 07:01:26+0000).
[OServer]
当您看到这一点时,OrientDB现在正在您当前的终端中运行。 我们确认服务器正在监听相应的端口。
打开第二个终端并通过SSH连接到同一个服务器。
ssh sammy@your_server_ip
然后,在该第二个终端中,使用以下命令确认服务器正在监听端口2424
(二进制连接)和2480
(用于HTTP连接)。
sudo netstat -plunt | grep -i listen
输出应包含对这两个端口号的引用,如下所示:
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
现在该服务器启动并且您已经验证它正在运行,接下来将连接到第二个终端中的OrientDB控制台。
第4步 - 连接到控制台
OrientDB控制台是用于处理应用程序的命令行界面。 要启动它,请键入:
sudo /opt/orientdb/bin/console.sh
您将看到以下内容:
OutputOrientDB console v.2.2.16 (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>
现在,连接到服务器实例。 所需的密码是您在上一步中首次启动服务器时指定的密码。
connect remote:127.0.0.1 root root-password
如果您成功连接,您将看到此输出。
OutputConnecting to remote Server instance [remote:127.0.0.1] with user 'root'...OK
orientdb {server=remote:127.0.0.1/}>
如果没有,请仔细检查您是否正确输入了root密码,并将OrientDB仍在第一个终端中运行。
准备好后,在第二个终端中键入exit
退出OrientDB提示符。
exit
您刚刚安装了OrientDB,手动启动它并连接到它。 这意味着OrientDB正在运行,但这也意味着您需要在重新启动服务器时手动启动它。 在接下来的几个步骤中,我们将配置和设置OrientDB与服务器上的任何其他守护程序一样运行。
第5步 - 将OrientDB配置为守护进程
此时,OrientDB已安装,但它只是服务器上的一堆脚本。 在此步骤中,我们将其配置为在系统上作为守护程序运行。 这涉及修改/opt/orientdb/bin/orientdb.sh
脚本和配置文件/opt/orientdb/config/orientdb-server-config.xml
。
首先,在您的第一个终端窗口中键入CTRL+C
,OrientDB仍在运行,以阻止它。 您也可以关闭第二个终端连接。
我们从修改/opt/orientdb/bin/orientdb.sh
脚本开始,告诉OrientDB用户应该运行它,并将其指向安装目录。
因此,创建要使OrientDB运行的系统用户。 在这个例子中,我们正在创建orientdb用户。 该命令还将创建orientdb组:
sudo useradd -r orientdb -s /sbin/nologin
将OrientDB目录和文件的所有权归给新创建的OrientDB用户和组。
sudo chown -R orientdb:orientdb /opt/orientdb
现在让我们对orientdb.sh
脚本进行一些修改。
sudo nano /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"
. . .
并分别将它们更改为/opt/orientdb
和orientdb。
# You have to SET the OrientDB installation directory here
ORIENTDB_DIR="/opt/orientdb"
ORIENTDB_USER="orientdb"
保存并关闭文件。
然后修改服务器配置文件的权限,以防止未经授权的用户阅读。
sudo chmod 640 /opt/orientdb/config/orientdb-server-config.xml
您可以在此Linux权限教程中了解有关文件权限的更多信息。
在下一步中,我们将配置守护程序,使其由服务管理器Systemd控制 。
第6步 - 安装Systemd启动脚本
OrientDB附带一个Systemd服务描述符文件,负责启动和停止服务。 该文件必须复制到/etc/systemd/system
目录中。
sudo cp /opt/orientdb/bin/orientdb.service /etc/systemd/system
该文件中有几个设置需要修改,因此打开它进行编辑。
sudo nano /etc/systemd/system/orientdb.service
修改“服务”下的“ 用户” ,“ 组”和“ ExecStart”变量以匹配您的安装。 您在第5步中设置用户和组(如果您逐字地按照该步骤,则它们都是orientdb )。 ExecStart指定脚本的路径,如果您已经按照本教程的要求,应该以/opt/orientdb
。
. . .
[Service]
User=orientdb
Group=orientdb
ExecStart=/opt/orientdb/bin/server.sh
保存并关闭文件。
然后运行以下命令重新加载所有单元。
sudo systemctl daemon-reload
随着一切就绪,您现在可以启动OrientDB服务。
sudo systemctl start orientdb
并确保它将在启动时启动。
sudo systemctl enable orientdb
验证它确实是从开始检查进程状态。
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
. . .
如果服务器没有启动,请在输出中查找线索。 在下一步中,您将学习如何连接应用程序的Web用户界面OrientDB Studio。
第7步 - 连接到OrientDB Studio
OrientDB Studio是用于管理OrientDB的Web界面。 这对于测试目的来说非常有用,尽管更为安全的做法是限制对它的访问。
如果要启用它进行测试,则需要将规则添加到防火墙。 默认情况下,OrientDB工作室监听端口2480
,因此如果您在服务器上配置了防火墙,则需要允许访问端口2480
。
sudo ufw allow 2480
然后重启UFW。
sudo systemctl restart ufw
要连接到OrientDB Studio,请访问浏览器中的http:// your_server_ip :2480
。 页面加载后,您将看到登录屏幕。
您可以使用您之前设置的密码以root身份登录。 您还可以选择GratefulDeadConcerts
数据库并使用OrientDB( 管理员 , 读者或作者 )附带的默认用户帐户之一登录。
结论
您刚刚在Ubuntu 16.04服务器上安装了OrientDB社区版,定制其配置,并将其设置为由systemd管理的守护进程。
接下来,您应该通过使用此OrientDB安全教程应用一些安全提示来保护应用免受未经授权的用户的侵害 。 如果现有的OrientDB安装需要导入到新安装中,请使用此迁移指南 ,该指南是为Ubuntu 14.04编写的,但也适用于Ubuntu 16.04。
有关OrientDB的其他信息,请访问项目的官方文档 。