如何透過 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工具會檢查下隱藏的lucene索引檔案 /oak: index 除了其他內容路徑之外。 datastorecheck 命令 oak-run 可用於對資料存放區執行一致性檢查。  如何執行命令的詳細步驟詳述如下:

解決方法 resolution

  1. 下載Oak-run jar 1.8.8或更高版本到您的AEM伺服器。

  2. 將Oak run jar放置在相同的目錄中,其中 crx-quickstart ,否則提供完整路徑: oak-run-*.jar 執行下列命令時。

  3. 執行以下命令(根據您的環境更新區段存放區和資料存放區的路徑):

    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
    
  4. 該命令將輸出資料存放區一致性檢查。

DataStore 的一致性檢查器還可用於列出節點存放區中的所有 blob 參照以及資料存放區中可用的所有 blob id。使用以下命令:

$ java-jar oak-run-*.jar datastorecheck [ --id] [ --ref] [ --consistency] \

[ --store |] \

[ --s3ds |--fds] \

[ --dump] \

[ --track]

提供以下一個或多個可用選項:

—id — 列出資料存放區中的所有id。

—ref — 列出節點存放區中的所有blob參照。

—consistency — 透過進行一致性檢查列出所有遺失的blob。

下列選項可供選擇:

—store - mongo uri區段存放區的路徑(以上 — ref和 — consistency選項的要求)。

—dump — 傾印檔案的路徑(選用)。 否則,會在使用者 tmp 目錄中傾印檔案。

—s3ds - S3DataStore設定檔案的路徑。

—fds - FileDataStore設定檔案的路徑('path'屬性是必要的)。

—track — 本機存放庫主資料夾的路徑(選用)。 它會放置要追踪的已下載 blob id 的副本。

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