如何在Ubuntu14.04上安装和配置OrientDB

来自菜鸟教程
跳转至:导航、​搜索

介绍

OrientDB 是一个多模型的 NoSQL 数据库,支持图形和文档数据库。 它是一个 Java 应用程序,可以在任何操作系统上运行。 它还完全符合 ACID,支持多主复制。

在本文中,您将学习如何在 Ubuntu 14.04 服务器上安装和配置 OrientDB 的最新社区版。

先决条件

要学习本教程,您将需要以下内容:

第 1 步 — 安装 Oracle Java

OrientDB 是一个 Java 应用程序,需要 Java 1.6 或更高版本。 因为它比 Java 6 和 7 快得多,所以强烈推荐使用 Java 8。 这就是我们将在此步骤中安装的 Java 版本。

要安装 Java JRE,请添加以下个人包档案 (PPA):

sudo add-apt-repository ppa:webupd8team/java

更新包数据库:

sudo apt-get update

然后安装 Oracle Java。 使用这个特定的包安装它不仅会安装它,还会使其成为默认的 Java JRE。 出现提示时,接受许可协议:

sudo apt-get install oracle-java8-set-default

安装后,验证它现在是默认的 Java JRE:

java -version

预期输出如下(具体版本可能有所不同):

outputjava version "1.8.0_60"
Java(TM) SE Runtime Environment (build 1.8.0_60-b27)
Java HotSpot(TM) 64-Bit Server VM (build 25.60-b23, mixed mode)

第 2 步 — 下载和安装 OrientDB

在这一步中,我们将下载并安装 OrientDB 的最新社区版。 在本文发布时,OrientDB Community 2.1.3 是最新版本。 如果发布了较新的版本,请更改版本号以匹配:

wget https://orientdb.com/download.php?file=orientdb-community-2.1.3.tar.gz

下载的 tarball 包含在系统上运行 OrientDB 所需的预编译二进制文件,因此您只需将其解压到合适的目录即可。 由于 /opt 是 Linux 上第三方程序的传统位置,让我们将其解压到那里:

sudo tar -xf download.php?file=orientdb-community-2.1.3.tar.gz -C /opt

这些文件被解压到名为 orientdb-community-2.1.3 的目录中。 为了使它更容易使用,让我们重命名它:

sudo mv /opt/orientdb-community-2.1.3 /opt/orientdb

第 3 步 — 启动服务器

现在二进制文件已经到位,您可以启动服务器并连接到控制台。 在此之前,导航到安装目录:

cd /opt/orientdb

然后启动服务器:

sudo bin/server.sh

除了生成一堆输出之外,第一次启动服务器时,系统会提示您为 root 用户帐户指定密码。 这是用于访问服务器的内部 OrientDB 帐户。 例如,用户名和密码组合将用于访问 OrientDB Studio,这是用于管理 OrientDB 的基于 Web 的界面。 如果您不指定密码,则会自动生成一个密码。 但是,最好自己指定一个,在出现提示时这样做。

启动服务器生成的部分输出告诉您服务器和 OrientDB Studio 正在侦听哪些端口:

Output2015-10-12 11:27:45:095 INFO  Databases directory: /opt/orientdb/databases [OServer]
2015-10-12 11:27:45:263 INFO  Listening binary connections on 0.0.0.0:2424 (protocol v.32, socket=default) [OServerNetworkListener]
2015-10-12 11:27:45:285 INFO  Listening http connections on 0.0.0.0:2480 (protocol v.10, socket=default) [OServerNetworkListener]

...

2015-10-12 11:27:45:954 INFO  OrientDB Server v2.1.3 (build UNKNOWN@r; 2015-10-04 10:56:30+0000) is active. [OServer]

由于 OrientDB 现在正在您的终端窗口中运行,因此在同一个 Droplet 的第二个终端窗口中,确认服务器正在侦听端口 2424(用于二进制连接)和 2480(用于 HTTP 连接)。 要确认它正在侦听二进制连接,请执行:

sudo netstat -plunt | grep 2424

输出应该类似于

Outputtcp6       0      0 :::2424                 :::*                    LISTEN      1617/java

要确认它正在侦听 HTTP 连接,请执行:

sudo netstat -plunt | grep 2480

预期输出如下:

Outputtcp6       0      0 :::2480                 :::*                    LISTEN      1617/java

第 4 步 — 连接到控制台

现在服务器正在运行,您可以使用控制台连接到它,即命令行界面:

sudo /opt/orientdb/bin/console.sh

您将看到以下内容:

OutputOrientDB console v.2.1.3 (build UNKNOWN@r; 2015-10-04 10:56:30+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/}>

输入 exit 退出:

exit

所以你刚刚安装了 OrientDB,手动启动它,并连接到它。 这都很好。 但是,这也意味着在您重新启动服务器时手动启动它。 这不好。 在接下来的步骤中,我们将配置和设置 OrientDB 以像服务器上的任何其他守护程序一样运行。

在 OrientDB 仍在运行的终端窗口中键入 CTRL-C 以停止它。

第 5 步 — 配置 OrientDB

此时 OrientDB 已安装在您的系统上,但它只是服务器上的一堆脚本。 在这一步中,我们将修改配置文件,并将其配置为在系统上作为守护程序运行。 这涉及修改 /opt/orientdb/bin/orientdb.sh 脚本和 /opt/orientdb/config/orientdb-server-config.xml 配置文件。

让我们从修改 /opt/orientdb/bin/orientdb.sh 脚本开始,告诉 OrientDB 它应该以哪个用户身份运行,并将其指向安装目录。

因此,首先,创建您希望 OrientDB 运行的系统用户。 该命令还将创建 orientdb 组:

sudo useradd -r orientdb -s /bin/false

将 OrientDB 目录和文件的所有权授予新创建的 OrientDB 用户和组:

sudo chown -R orientdb:orientdb /opt/orientdb

现在让我们对 orientdb.sh 脚本进行一些更改。 我们首先使用以下方法打开它:

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

首先,我们需要将它指向正确的安装目录,然后告诉它应该以哪个用户身份运行。 因此,在文件顶部查找以下两行:

/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/bin/orientdb.sh# You have to SET the OrientDB installation directory here
ORIENTDB_DIR="/opt/orientdb"
ORIENTDB_USER="orientdb"

现在,让系统用户可以使用 sudo 运行脚本。

再往下,在脚本的 start 函数下,查找以下行并通过在其前面添加 # 字符将其注释掉。 它必须如图所示:

/opt/orientdb/bin/orientdb.sh#su -c "cd \"$ORIENTDB_DIR/bin\"; /usr/bin/nohup ./server.sh 1>../log/orientdb.log 2>../log/orientdb.err &" - $ORIENTDB_USER

在您刚刚注释掉的那一行之后复制并粘贴以下行:

/opt/orientdb/bin/orientdb.shsudo -u $ORIENTDB_USER sh -c "cd \"$ORIENTDB_DIR/bin\"; /usr/bin/nohup ./server.sh 1>../log/orientdb.log 2>../log/orientdb.err &"

stop 函数下,查找以下行并将其注释掉。 它必须如图所示。

/opt/orientdb/bin/orientdb.sh#su -c "cd \"$ORIENTDB_DIR/bin\"; /usr/bin/nohup ./shutdown.sh 1>>../log/orientdb.log 2>>../log/orientdb.err &" - $ORIENTDB_USER

在您刚刚注释掉的那一行之后复制并粘贴以下行:

/opt/orientdb/bin/orientdb.shsudo -u $ORIENTDB_USER sh -c "cd \"$ORIENTDB_DIR/bin\"; /usr/bin/nohup ./shutdown.sh 1>>../log/orientdb.log 2>>../log/orientdb.err &"

保存并关闭文件。

接下来,打开配置文件:

sudo nano /opt/orientdb/config/orientdb-server-config.xml

我们将修改 storages 标签,并可选择将另一个用户添加到 users 标签。 因此,滚动到 storages 元素并对其进行修改,使其如下所示。 usernamepassword 是您的登录凭据,即您用于登录服务器的凭据:

/opt/orientdb/config/orientdb-server-config.xml<storages>
        <storage path="memory:temp" name="temp" userName="username" userPassword="password" loaded-at-startup="true" />
</storages>

如果滚动到 users 标签,您应该会看到您在第 3 步中首次启动 OrientDB 服务器时指定的 root 用户的用户名和密码。 还将列出来宾帐户。 您不必添加任何其他用户,但如果您愿意,您可以添加用于登录 DigitalOcean 服务器的用户名和密码。 以下是如何在 users 标签中添加用户的示例:

/opt/orientdb/config/orientdb-server-config.xml<user name="username" password="password" resources="*"/>

保存并关闭文件。

最后,修改文件的权限,防止未经授权的用户阅读:

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

第 6 步 — 安装启动脚本

现在已经配置了脚本,您现在可以将它们复制到各自的系统目录中。 对于负责运行控制台的脚本,将其复制到/usr/bin目录下:

sudo cp /opt/orientdb/bin/console.sh /usr/bin/orientdb

然后将负责启动和停止服务或守护进程的脚本复制到/etc/init.d目录下:

sudo cp /opt/orientdb/bin/orientdb.sh /etc/init.d/orientdb

切换到 /etc/init.d 目录:

cd /etc/init.d

然后更新 rc.d 目录,以便系统知道新脚本并在启动时启动它,就像其他系统守护程序一样。

sudo update-rc.d orientdb defaults

您应该得到以下输出:

Outputupdate-rc.d: warning: /etc/init.d/orientdb missing LSB information
update-rc.d: see <http://wiki.debian.org/LSBInitScripts>
 Adding system startup for /etc/init.d/orientdb ...
   /etc/rc0.d/K20orientdb -> ../init.d/orientdb
   /etc/rc1.d/K20orientdb -> ../init.d/orientdb
   /etc/rc6.d/K20orientdb -> ../init.d/orientdb
   /etc/rc2.d/S20orientdb -> ../init.d/orientdb
   /etc/rc3.d/S20orientdb -> ../init.d/orientdb
   /etc/rc4.d/S20orientdb -> ../init.d/orientdb
   /etc/rc5.d/S20orientdb -> ../init.d/orientdb

第 7 步 — 启动 OrientDB

一切就绪后,您现在可以启动服务:

sudo service orientdb start

验证它确实开始了:

sudo service orientdb status

您还可以使用步骤 3 中的 netstat 命令来验证服务器是否正在侦听端口。 如果服务器没有启动,请在/opt/orientdb/log目录下的错误日志文件中查找线索。

第 8 步 — 连接到 OrientDB Studio

OrientDB Studio 是用于管理 OrientDB 的 Web 界面。 默认情况下,它正在侦听端口 2480。 要连接到它,请打开浏览器并在地址栏中输入以下内容:

http://server-ip-address:2480

如果页面加载,您应该会看到登录屏幕。 您应该能够以 root 和您之前设置的密码登录。

如果页面没有加载,可能是因为它被防火墙阻止了。 因此,您必须向防火墙添加一条规则,以允许端口 2480 上的 OrientDB 流量。 为此,请打开 IPv4 流量的 IPTables 防火墙规则文件:

sudo /etc/iptables/rules.v4

INPUT 链中,添加以下规则:

/etc/iptables/rules.v4-A INPUT -p tcp --dport 2480 -j ACCEPT

重启iptables:

sudo service iptables-persistent reload

这应该可以连接到 OrientDB Studio。

结论

恭喜! 您刚刚在您的服务器上安装了 OrientDB 的社区版。 要了解更多信息,请查看 如何在 Ubuntu 14.04 上备份 OrientDB 数据库和 如何在 Ubuntu 14.04 上导入和导出 OrientDB 数据库文章。

更多信息和官方 OrientDB 文档链接可以在 orientdb.com 上找到。