Ubuntu14.04にOrientDBをインストールして構成する方法
序章
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)を追加します。
- sudo add-apt-repository ppa:webupd8team/java
パッケージデータベースを更新します。
- sudo apt-get update
次に、OracleJavaをインストールします。 この特定のパッケージを使用してインストールすると、インストールされるだけでなく、デフォルトのJavaJREになります。 プロンプトが表示されたら、使用許諾契約に同意します。
- sudo apt-get install oracle-java8-set-default
インストール後、デフォルトのJavaJREになっていることを確認します。
- 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の最新のCommunityエディションをダウンロードしてインストールします。 この発行時点では、OrientDBCommunity2.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を管理するためのWebベースのインターフェイスであるOrientDBStudioにアクセスするために使用されるのはユーザー名とパスワードの組み合わせです。 パスワードを指定しない場合、パスワードは自動的に生成されます。 ただし、自分で指定することをお勧めします。プロンプトが表示されたら指定してください。
サーバーの起動から生成される出力の一部は、サーバーとOrientDBStudioがリッスンしているポートを示します。
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—コンソールに接続する
サーバーが実行されているので、コンソール、つまりコマンドラインインターフェイスを使用してサーバーに接続できます。
- 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
まず、適切なインストールディレクトリを指定してから、実行するユーザーを指定する必要があります。 したがって、ファイルの先頭で次の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 要素までスクロールし、次のように変更します。 ユーザー名とパスワードは、ログイン資格情報、つまりサーバーへのログインに使用した資格情報です。
/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—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
これで、OrientDBStudioに接続できます。
結論
おめでとう! サーバーにOrientDBのCommunityエディションをインストールしました。 詳細については、 Ubuntu14.04でOrientDBデータベースをバックアップする方法とUbuntu14.04でOrientDBデータベースをインポートおよびエクスポートする方法の記事を参照してください。
詳細および公式のOrientDBドキュメントのリンクは、orientdb.comにあります。