Ubuntu14.04でOrientDBデータベースをバックアップする方法
序章
OrientDBは、グラフおよびドキュメントデータベースをサポートするマルチモデルのNoSQLデータベースです。 これはJavaアプリケーションであり、任意のオペレーティングシステムで実行できます。 また、マルチマスターレプリケーションのサポートを備えた完全にACIDに準拠しています。
OrientDBデータベースは、バックアップスクリプトを使用して、またコマンドラインインターフェイスを介してバックアップできます。ZIPアルゴリズムを使用したバックアップファイルの圧縮のサポートが組み込まれています。
デフォルトでは、OrientDBデータベースのバックアップはブロッキング操作です。データベースへの書き込みはバックアップ操作が終了するまでロックされますが、オペレーティングシステムがLVMパーティショニングスキームにインストールされている場合、バックアップスクリプトは非ブロッキングバックアップを実行できます。 。 LVMはLinux論理ボリュームマネージャーです。
この記事では、Ubuntu14.04サーバーにOrientDBデータベースをバックアップする方法を学習します。
前提条件
- Ubuntu 14.04サーバー(( Ubuntu 14.04 を使用した初期サーバーセットアップを参照)
- を使用してインストールおよび構成されたOrientDBUbuntu14.04にOrientDBをインストールおよび構成する方法
ステップ1—バックアップスクリプトを使用したOrientDBのバックアップ
OrientDBには、インストールディレクトリのbin
フォルダにあるバックアップスクリプトが付属しています。 Ubuntu 14.04 にOrientDBをインストールして構成する方法を使用してOrientDBをインストールした場合、インストールディレクトリは/opt/orientdb
であるため、バックアップスクリプトbackup.sh
は/opt/orientdb/bin
。
このチュートリアルでは、インストールディレクトリの下にbackup
フォルダを作成して、バックアップを保持します。 アプリケーションのデータディレクトリであるdatabases
フォルダにバックアップを保存することもできます。 このチュートリアルでは、backup
フォルダーを使用するため、backup
ディレクトリを作成します。
sudo mkdir -p /opt/orientdb/backup
新しく作成されたフォルダはrootが所有しているので、orientdbユーザーが所有するように所有権を変更しましょう。 これを行わないと、コマンドラインインターフェイスからバックアップするときにエラーが発生します。これは、手順2で実行する方法を学習します。
sudo chown -R orientdb:orientdb /opt/orientdb/backup
それが邪魔にならないように、bin
ディレクトリに移動します。
cd /opt/orientdb/bin
デフォルトでは、GratefulDeadConcerts
というデータベースが存在します。 databases
ディレクトリの内容のリストには、このデフォルトのデータベースと作成したデータベースが表示されます。
ls -l /opt/orientdb/databases
たとえば、次はGratefulDeadConcerts
データベースとeck
というデータベースを示しています。
Outputtotal 8 drwxr-xr-x 2 orientdb orientdb 4096 Oct 12 18:36 eck drwxr-xr-x 2 orientdb orientdb 4096 Oct 4 06:30 GratefulDeadConcerts
このステップでは、バックアップスクリプトを使用して両方のデータベースをバックアップします。 どちらの場合も、 admin ユーザーとして操作を実行します。このユーザーのパスワードは、adminでもあります。 デフォルトデータベースのデフォルト(ブロッキング)バックアップを実行するには、次のように入力します。
sudo ./backup.sh plocal:../databases/GratefulDeadConcerts admin admin ../backup/gfdc.zip
2番目のデータベースには、次のように入力します。
sudo ./backup.sh plocal:../databases/eck admin admin ../backup/eck.zip
バックアップが作成されたことを確認します。
ls -lh ../backup
期待される出力は次のとおりです。
Outputtotal 236K -rw-r--r-- 1 root root 17K Oct 13 08:48 eck.zip -rw-r--r-- 1 root root 213K Oct 13 08:47 gfdc.zip
ステップ2—コンソールからOrientDBをバックアップする
このステップでは、コンソールまたはコマンドラインインターフェイスからデータベースの1つをバックアップします。 コマンドラインインターフェイスに入るには、次のように入力します。
sudo -u orientdb /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>
次に、データベースに接続します。 ここでは、データベースのデフォルトユーザーadminとそのパスワードadminを使用して接続しています。
connect plocal:/opt/orientdb/databases/eck admin admin
次のような出力が表示されます。
OutputDisconnecting from the database [null]...OK Connecting to database [plocal:/opt/orientdb/databases/eck] with user 'admin'...OK orientdb {db=eck}>
次に、ステップ1で作成したのと同じバックアップディレクトリにデータベースのブロックバックアップを実行します。
backup database /opt/orientdb/backup/eckconsole.zip
次のような出力が表示されます。
OutputBackuping current database to: database /opt/orientdb/backup/eckconsole.zip... - Compressing file name_id_map.cm...ok size=912b compressedSize=250 ratio=73% elapsed=1ms - Compressing file e.pcl...ok size=65.00KB compressedSize=121 ratio=100% elapsed=13ms ... - Compressing file orids.cpm...ok size=1024b compressedSize=15 ratio=99% elapsed=1ms - Compressing file internal.pcl...ok size=129.00KB compressedSize=9115 ratio=94% elapsed=9ms Backup executed in 0.33 seconds
OrientDBデータベースプロンプトを終了します。
exit
バックアップが実施されていることを確認します。
ls -lh ../backup
出力は次のようになります。
Outputtotal 256K -rw-r--r-- 1 orientdb orientdb 17K Oct 13 10:39 eckconsole.zip -rw-r--r-- 1 orientdb orientdb 17K Oct 13 08:48 eck.zip -rw-r--r-- 1 orientdb orientdb 213K Oct 13 08:47 gfdc.zip
ステップ3—OrientDBを自動的にバックアップする
OrientDBには自動バックアップ機能がありますが、デフォルトではオフになっています。 このステップでは、データベースが毎日バックアップされるように有効にします。 自動バックアップのパラメーターは構成ファイルで微調整する必要があるため、次のように開きます。
sudo nano /opt/orientdb/config/orientdb-server-config.xml
class =“ com.orientechnologies.orient.server.handler.OAutomaticBackup”を指定してhandler要素までスクロールします。 有効にすると、他のデフォルト設定により、自動バックアップが23:00:00GMTに4時間間隔で実行されるように設定されます。 以下に示す設定では、自動バックアップが同時に実行されますが、1日1回のみ実行されます。
テストの目的で、firsttimeパラメーターを好みに合わせて調整できます。
/opt/orientdb/config/orientdb-server-config.xml <handler class="com.orientechnologies.orient.server.handler.OAutomaticBackup"> <parameters> <parameter value="true" name="enabled"/> <parameter value="24h" name="delay"/> <parameter value="23:00:00" name="firstTime"/> <parameter value="backup" name="target.directory"/> <parameter value="${DBNAME}-${DATE:yyyyMMddHHmmss}.zip" name="target.fileName"/> <parameter value="9" name="compressionLevel"/> <parameter value="1048576" name="bufferSize"/> <parameter value="" name="db.include"/> <parameter value="" name="db.exclude"/> </parameters> </handler>
設定の調整が終了したら、ファイルを保存して閉じます。 変更を適用するには、デーモンを停止します。
sudo service orientdb stop
次に、再起動します。
sudo service orientdb start
設定した時間の後、新しいbackup
ディレクトリを調べて、動作することを確認します。
ls -lh /opt/orientdb/bin/backup
出力は次のようになります。
Outputtotal 236K -rw-r--r-- 1 orientdb orientdb 17K Oct 13 16:00 eck-20151013160001.zip -rw-r--r-- 1 orientdb orientdb 213K Oct 13 16:00 gratefulnotdead-20151013160002.zip
箱から出して、デフォルトのデータベースGratefulDeadConcert
は自動バックアップツールによってバックアップされないので、リストに表示されない場合は、それが機能です。
結論
OrientDBデータベースのバックアップに使用できるプログラム以外のすべての手順を学習しました。 このトピックの詳細については、公式ガイドをご覧ください。