CentOS 7 に OrientDB をインストールして運用する手順

目的と主なバリエーション
主な意図: CentOS 7 に OrientDB をインストールして起動・運用する方法を示します。 関連キーワード(意図の変種):
- OrientDB インストール
- CentOS 7 OrientDB サーバー構築
- OrientDB Studio アクセス
- OrientDB systemd 設定
- NoSQL グラフデータベース導入
重要: 記載のコマンドは root 権限で実行することを想定しています。sudo ユーザーで作業する場合は sudo -i で root 相当に切り替えてください。
前提条件
- 最低限の CentOS 7 サーバー(ネットワーク接続あり)。
- root 権限(または sudo)。
用語(1行定義):
- OrientDB: ドキュメントとグラフの両方をサポートするオープンソース NoSQL データベース。
1. 基本パッケージとリポジトリの更新
パッケージインストール前にシステムを最新にします。
yum -y update
更新が完了したら、次に進みます。
2. Java のインストール(Oracle JDK の例)
OrientDB は Java 上で動作するため、JDK が必要です。ここでは Oracle JDK をダウンロードして RPM をインストールする手順を示します(OpenJDK を使う選択肢もあります)。
ダウンロード(例):
wget --no-cookies --no-check-certificate --header "Cookie:oraclelicense=accept-securebackup-cookie" "http://download.oracle.com/otn-pub/java/jdk/8u144-b01/090f390dda5b47b9b721c7dfaa008135/jdk-8u144-linux-x64.rpm"
wget が無い場合は次で導入:
yum -y install wget
RPM インストール:
yum -y localinstall jdk-8u144-linux-x64.rpm
インストール後、Java バージョン確認:
java -version
期待される出力例:
[root@liptan-pc ~]# java -version
java version "1.8.0_144"
Java(TM) SE Runtime Environment (build 1.8.0_144-b01)
Java HotSpot(TM) 64-Bit Server VM (build 25.144-b01, mixed mode)
JAVA_HOME が設定されているか確認:
echo $JAVA_HOME
出力が空の場合は ~/.bash_profile に環境変数を設定します。エディタで開き、末尾に以下を追加してください(JDK のパスは実環境に合わせて修正)。
nano ~/.bash_profile
追加内容:
export JAVA_HOME=/usr/java/jdk1.8.0_144/
export JRE_HOME=/usr/java/jdk1.8.0_144/jre
設定を反映:
source ~/.bash_profile
再度確認してパスが反映されていれば OK です。
重要: 本手順は Oracle JDK の古いバージョンを例示しています。最新の JDK(OpenJDK 含む)を利用する場合は、配布元の最新版を利用してください。プロダクション環境ではサポートポリシーに合う JDK を選んでください。
3. OrientDB のインストール
運用上、専用ユーザーで動作させることを推奨します。/opt/orientdb をホームに持つユーザーを作成します。
adduser orientdb -d /opt/orientdb
ディレクトリに移動してバイナリをダウンロードします(例では 2.2.25 を使用)。最新バージョンは公式のダウンロードページを参照してください。
cd /opt/orientdb/
wget https://orientdb.com/download.php?file=orientdb-community-importers-2.2.25.tar.gz -O orientdb.tar.gz
アーカイブを展開し、ファイルを配置します。
tar -xf orientdb.tar.gz
mv orientdb-community-importers*/* .
rm -rf orientdb-community-importers*/ orientdb.tar.gz
所有権を orientdb ユーザーに変更します。
chown -R orientdb:orientdb /opt/orientdb
これで OrientDB のファイルは設置されました。
4. サーバー起動と初回設定
orientdb ユーザーに切り替え、サーバーを起動します。
su - orientdb
bin/server.sh
初回起動時は root ユーザーのパスワード入力が求められます。強力なパスワードを設定してください。
起動ログの一部例:
2017-08-05 12:48:04:444 INFO OrientDB Studio available at http://108.61.201.197:2480/studio/index.html [OServer]
2017-08-05 12:48:04:445 INFO OrientDB Server is active v2.2.25 (build 72a35a4bb42c4ca33272e7a59ad4c7a1d3ee859d). [OServer]
サーバーを停止するには Ctrl+C を押し、orientdb ユーザーから抜けるには exit を実行します。
5. systemd サービスとして登録(自動起動・監視)
手動で起動する代わりに systemd に登録して自動起動・再起動を行います。新しいユニットファイルを作成します。
nano /etc/systemd/system/orientdb.service
以下の内容を保存します(実例):
[Unit]
Description=OrientDB service
After=network.target
[Service]
Type=simple
ExecStart=/opt/orientdb/bin/server.sh
User=orientdb
Group=orientdb
Restart=always
RestartSec=9
StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=orientdb
[Install]
WantedBy=multi-user.target
ユニットをリロードして起動、永続化します。
systemctl daemon-reload
systemctl start orientdb
systemctl enable orientdb
ステータス確認:
systemctl status orientdb
出力例にはプロセス PID、ログ断片、起動時間が表示されます。
補足: 必要に応じて ExecStart に JVM オプション(-Xms -Xmx)を追加し、heap を明示的に設定してください。プロダクション環境ではメモリ要件を設計に反映させます。
6. コンソール(orientdb コマンド)へのショートカット
コンソール開始用のシンボリックリンクを作成します。
ln -s /opt/orientdb/bin/console.sh /usr/bin/orientdb
この後、端末で orientdb と入力するとコンソールに入れます。
[root@liptan-pc ~]# orientdb
OrientDB console v.2.2.25 (build 72a35a4bb42c4ca33272e7a59ad4c7a1d3ee859d) https://www.orientdb.com
Type 'help' to display all the supported commands.
Installing extensions for GREMLIN language v.2.6.0
orientdb>
コンソールから exit で抜けます。
7. OrientDB Studio(GUI)へのアクセス
OrientDB Studio はブラウザベースの管理 UI です。サーバーが起動していれば同時に起動します。ブラウザで以下を開きます。
http://your-server-IP:2480
ファイアウォールを使っている場合はポート 2480 を許可します(例: firewalld)。
firewall-cmd --zone=public --permanent --add-port=2480/tcp
firewall-cmd --reload
ログイン画面や DB 作成画面が表示されます。
Studio で新規 DB を作成するには NEW DB をクリックし、名前・Server User に root・パスワードを入力して CREATE DATABASE を実行します。
作成後はダッシュボードに遷移し、クエリ、スキーマ、セキュリティなどを操作できます。
重要: Studio は管理用ツールです。公開インターネットに直接晒すのは避け、VPN やリバースプロキシ(認証必須)経由で運用してください。
8. 運用チェックリスト(ロール別)
- システム管理者:
- systemd ユニットで自動起動を確認
- サービスの監視(監視ツールに登録)
- ファイアウォールと SELinux ポリシーの確認
- データベース管理者:
- 定期バックアップのスケジュール設定
- ユーザーと権限管理(Security タブの確認)
- スキーマとインデックスの最適化
- 開発者:
- 接続ポート(2480/2424)の確認
- クエリの検証とパフォーマンステスト
9. バックアップとリカバリ(簡易 SOP)
- ホットバックアップ: OrientDB のコンソールまたは API を使用してデータベースのダンプを取得。
- ファイルベースバックアップ: サーバー停止(またはスナップショット)後に ./databases ディレクトリをバックアップ。
簡単なバックアップ手順:
# サーバーを安全に停止
systemctl stop orientdb
# ディレクトリをアーカイブ
tar -czf /var/backups/orientdb-$(date +%F).tar.gz /opt/orientdb/databases
# 再起動
systemctl start orientdb
復元はアーカイブを展開し、所有権を orientdb に戻してからサービスを起動します。
10. セキュリティ強化のヒント
- Studio へのアクセスは社内ネットワーク、VPN、もしくは認証付きプロキシ経由に限定する。
- root アカウントのパスワード管理を徹底する。必要ならば root ユーザーでの常時運用を避け、サービス用の専用 DB ユーザーを作る。
- ファイアウォールで不要なポートを閉鎖する(デフォルトは 2480、2424)。
- ログ監視と疎通確認を組み込む。
- データ保護要件がある場合は暗号化やアクセス監査を実装する。
注意: OrientDB のバージョンによっては既知の脆弱性が存在することがあります。常に公式のセキュリティアドバイザリを確認し、パッチ適用方針を策定してください。
11. パフォーマンスと JVM チューニング(概略)
- 小規模: -Xms1G -Xmx1G
- 中〜大規模: ワークロードに応じて -Xms と -Xmx を同じ値に設定して GC の安定性を向上させる。
- ディスク I/O がボトルネックになることが多いので、SSD を推奨。
systemd の ExecStart に環境変数またはラッパースクリプトでオプションを渡します。
12. トラブルシューティング(よくある問題)
- サービスが起動しない: systemctl status でログを確認。/var/log/messages や syslog に JVM エラーが出ていることがある。
- ポートが開いていない: firewall-cmd でポートを許可、または firewall を一時停止して疎通確認。
- メモリ不足で OOM: JVM の -Xmx を増やす、または物理メモリを増設。
- Studio にアクセスできない: サーバー IP とポート 2480 を直接指定、プロキシ/ロードバランサーの設定を確認。
13. 受け入れ基準(Критерии приёмки)
- systemctl status orientdb が Active (running) を返す。
- Studio にブラウザからアクセスできる(http://your-server-IP:2480)。
- コンソールに接続し、簡単なクエリ(SELECT FROM OUser など)が実行できる。
- 定期バックアップがスケジュールされ、復元手順がドキュメント化されている。
14. 代替アプローチと移行の考え方
- 小規模でグラフ機能が必要な場合は OrientDB を選択肢に入れる。高可用性や商用サポートが必要ならば、OrientDB の商用オプションや他のグラフ DB(Neo4j など)と比較検討する。
- 既存の RDBMS からの移行はスキーマ設計が大きく変わるため、ドメインモデルの見直しとマイグレーション計画が必要。
15. 決定フローチャート(導入判断)
flowchart TD
A[データはグラフ/ドキュメント向きか?] -->|はい| B[OrientDB を検討]
A -->|いいえ| C[リレーショナル DB のまま]
B --> D{高可用性が必要か}
D -->|はい| E[クラスタリングや外部 HA を検討]
D -->|いいえ| F[単一ノードで運用]
16. ロール別迅速チェックリスト(テンプレート)
- インストール直後(SysAdmin):
- systemctl status orientdb を確認
- firewall で 2480 を許可
- /opt/orientdb の所有権を確認
- 初期 DB 設定(DBA):
- root パスワードを安全に保管
- 必要なユーザーと権限を作成
- 運用(SRE):
- バックアップが定期的に成功している
- モニタリングアラートを設定
17. 1行用語集
- Studio: OrientDB のブラウザベース管理 UI。
- Console: コマンドラインから OrientDB を操作するツール。
- DB スタジオ: Studio(GUI)の日本語表記。
まとめ
このガイドでは CentOS 7 上で OrientDB を動かすためのインストール手順、初期設定、systemd によるサービス化、Studio へのアクセス、運用チェックリスト、バックアップ、セキュリティ強化案、トラブルシューティングまでを解説しました。プロダクション運用を考える場合は JVM チューニング、監視、定期的なアップデートとセキュリティ確認を必ず行ってください。
重要: 本手順の一部はサンプル設定(JDK バージョンや OrientDB のバージョン)を含んでいます。実運用では最新の安定版および組織のセキュリティ方針に沿った設定を採用してください。