oak-run を使用してデータストアの整合性チェックを実行する方法
Adobe Experience Managerで oak-run を使用してデータストアの整合性チェックを実行する方法を説明します。
説明 description
環境
Adobe Experience Manager(AEM)
問題
データストアの整合性チェックでは、欠落しているものの参照されたままのデータストアバイナリが報告されます。 整合性チェックは、Felix コンソールから直接トリガーできます。
MarkSweepGarbageCollector#checkConsistency Mbean からトリガーされる場合があります。
BlobGC MBeans が MBeanServer に登録されている場合は、次の mbean も使用できます。
BlobGCMbean#checkConsistency
整合性チェックが完了すると、メッセージに欠落として報告されるバイナリの数が表示されます。 この数が 0 (ゼロ)を超えている場合は、org.apache.jackrabbit.oak.plugins.blob .MarkSweepGarbageCollector に設定されているログで、欠落しているバイナリの詳細を確認してください。
欠落しているバイナリがログにどのように表示されるかを次に示します。
11:32:39.673 INFO [ main] MarkSweepGarbageCollector.java:600 Consistency check found 1 missing blobs 11:32:39.673 WARN [ main] MarkSweepGarbageCollector.java:602 Consistency check failure in the the blob store : DataStore backed BlobStore [ org.apache.jackrabbit.oak.plugins.blob.datastore.OakFileDataStore] , check missing candidates in file /tmp/gcworkdir-1467352959243/gccand-1467352959243
/system/console/repositorycheck UI とは異なり、oak-run ツールは、残りのコンテンツパスに加えて、/oak: index の下の非表示の lucene インデックスファイルを確認します。 oak-run コマンド datastorecheck、データストアに対して整合性チェックを実行するために使用できます。 コマンドの実行方法に関する詳細な手順を以下に示します。
解決策 resolution
-
AEM サーバーに oak-run jar 1.8.8 以降のバージョンをダウンロードします。
-
oak run jar を
crx-quickstartが配置されているディレクトリと同じディレクトリに配置します。それ以外の場合は、以下のコマンドを実行する際にoak-run-*.jarの完全パスを指定します。 -
次のコマンドを実行します(環境に応じて、セグメントストアとデータストアのパスを更新します)。
code language-none java -jar oak-run-*.jar datastorecheck --consistency --ref --id --fds crx-quickstart/install/org.apache.jackrabbit.oak.plugins.blob.datastore.FileDataStore.config --repoHome crx-quickstart/repository --store crx-quickstart/repository/segmentstore --dump temp --verbose --track -
このコマンドを実行すると、データストアの整合性チェックの結果が出力されます。
また、DataStore 用整合性チェック機能は、ノードストア内のすべての blob 参照とデータストアで使用可能なすべての blob ID をリストするためにも使用できます。次のコマンドを使用します。
$ java-jar oak-run-*.jar datastorecheck [ --id] [ --ref] [ --consistency] \
[ --store |] \
[ --s3ds |--fds] \
[ --dump] \
[ --track]
次のオプションを 1 つ以上指定します。
—id - データストア内のすべての id をリストします。
—ref - ノードストア内のすべての blob 参照をリストします。
—consistency – 整合性チェックを実行して、見つからない blob をすべてリストします。
次のオプションがあります。
—store - mongo uri のセグメントストアへのパス(前述の – ref および – consistency オプションで必須)
—dump - ファイルのダンプ先のパス(オプション)。 指定しない場合、ファイルはユーザーの tmp ディレクトリにダンプされます。
—s3ds - S3DataStore 構成ファイルへのパス。
—fds - FileDataStore 設定ファイルへのパス (「path」プロパティは必須)。
—track - ローカルリポジトリのホームフォルダーのパス(オプション)。 ダウンロードされた blob ID のコピーが追跡対象になります。