序章

OrientDBは、グラフおよびドキュメントデータベースをサポートするマルチモデルのNoSQLデータベースです。 これはJavaアプリケーションであり、任意のオペレーティングシステムで実行できます。 また、マルチマスターレプリケーションのサポートにより完全にACIDに準拠しています。

この記事では、Ubuntu14.04サーバーにOrientDBの最新のCommunityエディションをインストールして構成する方法を学習します。

前提条件

このチュートリアルに従うには、次のものが必要です。

  • Ubuntu14.04ドロップレット
  • sudo権限を持つroot以外のユーザー( Ubuntu 14.04 を使用した初期サーバーセットアップでは、これをセットアップする方法について説明しています。)

ステップ1—OracleJavaのインストール

OrientDBは、Javaバージョン1.6以降を必要とするJavaアプリケーションです。 Java 6および7よりもはるかに高速であるため、Java8を強くお勧めします。 これが、このステップでインストールするJavaのバージョンです。

Java JREをインストールするには、次のパーソナルパッケージアーカイブ(PPA)を追加します。

  1. sudo add-apt-repository ppa:webupd8team/java

パッケージデータベースを更新します。

  1. sudo apt-get update

次に、OracleJavaをインストールします。 この特定のパッケージを使用してインストールすると、インストールされるだけでなく、デフォルトのJavaJREになります。 プロンプトが表示されたら、使用許諾契約に同意します。

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

インストール後、デフォルトのJavaJREになっていることを確認します。

  1. java -version

期待される出力は次のとおりです(正確なバージョンは異なる場合があります)。

output
java 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の最新のCommunityエディションをダウンロードしてインストールします。 この発行時点では、OrientDBCommunity2.1.3が最新バージョンです。 新しいバージョンがリリースされている場合は、バージョン番号を次のように変更します。

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

ダウンロードしたtarballには、システムでOrientDBを実行するために必要なコンパイル済みのバイナリファイルが含まれているため、適切なディレクトリに解凍するだけです。 /optはLinux上のサードパーティプログラムの従来の場所であるため、そこで解凍してみましょう。

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

ファイルはorientdb-community-2.1.3という名前のディレクトリに抽出されます。 作業を簡単にするために、名前を変更しましょう。

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

ステップ3—サーバーを起動する

バイナリが配置されたので、サーバーを起動してコンソールに接続できます。 その前に、インストールディレクトリに移動します。

  1. cd /opt/orientdb

次に、サーバーを起動します。

  1. sudo bin/server.sh

大量の出力を生成する以外に、サーバーを初めて起動すると、rootユーザーアカウントのパスワードを指定するように求められます。 これは、サーバーへのアクセスに使用される内部OrientDBアカウントです。 たとえば、OrientDBを管理するためのWebベースのインターフェイスであるOrientDBStudioにアクセスするために使用されるのはユーザー名とパスワードの組み合わせです。 パスワードを指定しない場合、パスワードは自動的に生成されます。 ただし、自分で指定することをお勧めします。プロンプトが表示されたら指定してください。

サーバーの起動から生成される出力の一部は、サーバーとOrientDBStudioがリッスンしているポートを示します。

Output
2015-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がターミナルウィンドウで実行されているので、同じドロップレットの2番目のターミナルウィンドウで、サーバーがポート2424(バイナリ接続の場合)および2480(HTTP接続の場合)でリッスンしていることを確認します。 バイナリ接続をリッスンしていることを確認するには、次を実行します。

  1. sudo netstat -plunt | grep 2424

出力は次のようになります。

Output
tcp6 0 0 :::2424 :::* LISTEN 1617/java

HTTP接続をリッスンしていることを確認するには、次を実行します。

  1. sudo netstat -plunt | grep 2480

期待される出力は次のとおりです。

Output
tcp6 0 0 :::2480 :::* LISTEN 1617/java

ステップ4—コンソールに接続する

サーバーが実行されているので、コンソール、つまりコマンドラインインターフェイスを使用してサーバーに接続できます。

  1. sudo /opt/orientdb/bin/console.sh

次のように表示されます。

Output
OrientDB 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>

次に、サーバーインスタンスに接続します。 必要なパスワードは、以前にサーバーを最初に起動したときに指定したものです。

  1. connect remote:127.0.0.1 root root-password

接続されている場合、出力は次のようになります。

Output
Connecting 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グループも作成します。

  1. sudo useradd -r orientdb -s /bin/false

OrientDBディレクトリとファイルの所有権を新しく作成されたOrientDBユーザーとグループに付与します。

  1. sudo chown -R orientdb:orientdb /opt/orientdb

次に、orientdb.shスクリプトにいくつかの変更を加えましょう。 まず、次を使用して開きます。

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

まず、適切なインストールディレクトリを指定してから、実行するユーザーを指定する必要があります。 したがって、ファイルの先頭で次の2行を探します。

/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.sh
sudo -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.sh
sudo -u $ORIENTDB_USER sh -c "cd \"$ORIENTDB_DIR/bin\"; /usr/bin/nohup ./shutdown.sh 1>>../log/orientdb.log 2>>../log/orientdb.err &"

ファイルを保存して閉じます。

次に、構成ファイルを開きます。

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

storages タグを変更し、オプションで、usersタグに別のユーザーを追加します。 したがって、 storages 要素までスクロールし、次のように変更します。 ユーザー名パスワードは、ログイン資格情報、つまりサーバーへのログインに使用した資格情報です。

/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="*"/>

ファイルを保存して閉じます。

最後に、ファイルのアクセス許可を変更して、許可されていないユーザーがファイルを読み取れないようにします。

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

ステップ6—スタートアップスクリプトをインストールする

スクリプトが構成されたので、スクリプトをそれぞれのシステムディレクトリにコピーできます。 コンソールの実行を担当するスクリプトについては、/usr/binディレクトリにコピーします。

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

次に、サービスまたはデーモンの開始と停止を担当するスクリプトを/etc/init.dディレクトリにコピーします。

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

/etc/init.dディレクトリに移動します。

  1. cd /etc/init.d

次に、rc.dディレクトリを更新して、システムが新しいスクリプトを認識し、他のシステムデーモンと同じように起動時にスクリプトを起動するようにします。

  1. sudo update-rc.d orientdb defaults

次の出力が得られるはずです。

Output
update-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を起動する

すべてが整ったら、サービスを開始できます。

  1. sudo service orientdb start

それが実際に開始したことを確認します。

  1. sudo service orientdb status

手順3のnetstatコマンドを使用して、サーバーがポートをリッスンしていることを確認することもできます。 サーバーが起動しない場合は、/opt/orientdb/logディレクトリのエラーログファイルで手がかりを確認してください。

ステップ8—OrientDBStudioに接続する

OrientDB Studioは、OrientDBを管理するためのWebインターフェイスです。 デフォルトでは、ポート2480でリッスンしています。 接続するには、ブラウザを開き、アドレスバーに次のように入力します。

http://server-ip-address:2480

ページが読み込まれると、ログイン画面が表示されます。 rootと先ほど設定したパスワードでログインできるはずです。

ページが読み込まれない場合は、ファイアウォールによってブロックされている可能性があります。 したがって、ポート2480でOrientDBトラフィックを許可するには、ファイアウォールにルールを追加する必要があります。 これを行うには、IPv4トラフィック用のIPTablesファイアウォールルールファイルを開きます。

  1. sudo /etc/iptables/rules.v4

INPUT チェーン内に、次のルールを追加します。

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

iptablesを再起動します:

  1. sudo service iptables-persistent reload

これで、OrientDBStudioに接続できます。

結論

おめでとう! サーバーにOrientDBのCommunityエディションをインストールしました。 詳細については、 Ubuntu14.04でOrientDBデータベースをバックアップする方法とUbuntu14.04でOrientDBデータベースをインポートおよびエクスポートする方法の記事を参照してください。

詳細および公式のOrientDBドキュメントのリンクは、orientdb.comにあります。