Ubuntu 14.04でOrientDBをインストールおよび構成する方法

前書き

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

この記事では、Ubuntu 14.04サーバーにOrientDBの最新のコミュニティエディションをインストールして構成する方法を学びます。

前提条件

このチュートリアルを実行するには、次のものが必要です。

[[step-1 -—- installing-oracle-java]] ==ステップ1— OracleJavaのインストール

OrientDBは、Javaバージョン1.6以降を必要とするJavaアプリケーションです。 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)

[[step-2 -—- downloading-and-installing-orientdb]] ==ステップ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

[[step-3 -—- starting-the-server]] ==ステップ3—サーバーの起動

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

cd /opt/orientdb

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

sudo bin/server.sh

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

サーバーの起動から生成される出力の一部は、サーバーと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はターミナルウィンドウで同じドロップレットの2番目のターミナルウィンドウで実行されているため、サーバーがポート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 -—-コンソールへの接続]] ==ステップ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と入力して停止します。

[[step-5 -—- configuring-orientdb]] ==ステップ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

まず、適切なインストールディレクトリを指定する必要があります。次に、実行するユーザーを指定する必要があります。 そのため、ファイルの先頭で次の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.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
        

usersタグまでスクロールすると、手順3でOrientDBサーバーを最初に起動したときに指定したrootユーザーのユーザー名とパスワードが表示されます。 ゲストアカウントも表示されます。 他のユーザーを追加する必要はありませんが、必要に応じて、DigitalOceanサーバーへのログインに使用したユーザー名とパスワードを追加できます。 以下は、usersタグ内にユーザーを追加する方法の例です。

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

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

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

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

[[step-6 -—- installing-the-startup-script]] ==ステップ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 
 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

[[step-7 -—- starting-orientdb]] ==ステップ7—OrientDBを開始します

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

sudo service orientdb start

実際に起動したことを確認します。

sudo service orientdb status

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

[[step-8 -—- connecting-to-orientdb-studio]] ==ステップ8— OrientDBStudioに接続する

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のCommunityエディションをインストールしました。 詳細については、How To Back Up Your OrientDB Databases on Ubuntu 14.04およびHow To Import and Export an OrientDB Database on Ubuntu 14.04の記事をご覧ください。

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