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 oak-run ツールは、の下にある非表示の Lucene インデックスファイルを確認します。 /oak: 残りのコンテンツパスに加えてインデックスを作成します。  このツールでは、インデックスファイルをデータストアに復元することも、インデックスファイルをすべて再インデックス化する代わりに破損しているインデックスのみを再構築することもできます。 これは、に記載されています。 oak-run.jar を使用したインデックスの管理 (AEM Foundation Tutorials内)。

解決策 resolution

  1. AEM サーバーに oak-run jar 1.8.8 以降のバージョンをダウンロードします。

  2. 次のコマンドを実行します(ただし、セグメントストアとデータストアのパスを環境に合わせて変更してください)。

    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

  3. このコマンドは、データストアの整合性チェックを出力します。

  4. その出力を使用して、見つからないファイルを復元または修正します。 詳しくは、次を参照してください oak-run.jar を使用したインデックスの管理 (AEM Foundation Tutorials内)。

また、データストア用整合性チェッカーは、ノードストア内のすべての 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 のコピーが追跡対象になります。

その他の関連リソース

Oak DataStore のチェック

recommendation-more-help
3d58f420-19b5-47a0-a122-5c9dab55ec7f