oak-runを使用したデータストアの整合性チェックの実行
AEM 6.4およびOakでoak-runを使用してデータストアの整合性チェックを実行する方法を説明します。
説明 description
環境
- Adobe Experience Manager(AEM) 6.4
- Oak 1.8.8以降
問題/症状
oak-run ツールは、次のようなエラーが発生した場合に役立ちます。
09.11.2017 13:42:17.512 *WARN* [ async-index-update-async] org.apache.jackrabbit.oak.plugins.blob.datastore.DataStoreBlobStore Error occurred while loading bytes from steam while fetching for id «record ID»
java.util.concurrent.ExecutionException: java.io.IOException: org.apache.jackrabbit.core.data.DataStoreException: Record «record ID» does not exist
Caused by: java.io.IOException: org.apache.jackrabbit.core.data.DataStoreException: Record «record ID» does not exist
/system/console/repositorycheck UIとは異なり、oak-run ツールは、残りのコンテンツパスに加えて、/oak: インデックスの下にある非表示のLucene インデックスファイルをチェックします。 このツールを使用すると、インデックスファイルをデータストアに復元するか、すべてのインデックスを再作成するのではなく、破損しているインデックスのみを再作成するオプションを利用できます。 これは、AEM Foundation Tutorialsの「oak-run.jarを使用してインデックスを管理する」で説明しています。
解決策 resolution
-
AEM サーバーに oak-run jar 1.8.8 以降のバージョンをダウンロードします。
-
次のコマンドを実行します(ただし、セグメントストアとデータストアのパスを環境に合わせて変更してください)。
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 -
このコマンドは、データストアの整合性チェックを出力します。
-
出力を使用して、不足しているファイルを復元または修正します。 詳しくは、oak-run.jarを使用してAEM Foundation Tutorialsのインデックス を管理してください。
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 のコピーが追跡対象になります。
その他の関連リソース