Ausführen der Konsistenzprüfung des Datenspeichers über oak-run

Erfahren Sie, wie Sie eine Konsistenzprüfung des Datenspeichers mit oak-run in AEM 6.4 und Oak ausführen.

Beschreibung description

Umgebung

  • Adobe Experience Manager (AEM) 6.4
  • Oak 1.8.8 und neuere Versionen

Problem/Symptome

Das Tool „oak-run“ ist hilfreich, wenn Sie einen Fehler wie den folgenden feststellen:

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

Im Gegensatz zur  /system/console/repositorycheck-Benutzeroberfläche überprüft das Tool oak-run die ausgeblendeten Lucene-Indexdateien unter /oak: Index zusätzlich zum Rest der Inhaltspfade.  Mit diesem Tool haben Sie die Möglichkeit, Indexdateien auf dem Datenspeicher wiederherzustellen oder nur die beschädigten Indizes neu zu erstellen, anstatt alle Indizes neu zu indizieren. Dies wird unter Verwenden von oak-run.jar zum Verwalten von Indizes in AEM Foundation Tutorials dokumentiert.

Lösung resolution

  1. Laden Sie oak-run jar 1.8.8 oder eine neuere Version auf Ihren AEM-Server herunter.

  2. Führen Sie den folgenden Befehl aus (tauschen Sie jedoch die Pfade zum Segmentspeicher und Datenspeicher aus, um sie Ihrer Umgebung anzupassen):

    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. Der Befehl gibt eine Konsistenzprüfung des Datenspeichers aus.

  4. Verwenden Sie die Ausgabe, um fehlende Dateien wiederherzustellen oder zu beheben. Weitere Informationen finden Sie Verwenden Sie oak-run.jar zum Verwalten von ​ in den AEM Foundation-Tutorials.

Die Konsistenzprüfung für den Datenspeicher kann auch alle Blob-Verweise im Knotenspeicher und alle Blob-IDs im Datenspeicher auflisten. Verwenden Sie den folgenden Befehl:

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

[ --store |] \

[ --s3ds |--fds] \

[ --dump] \

[ --track]

Geben Sie eine oder mehrere der folgenden verfügbaren Optionen an:

  • —id - Listet alle IDs im Datenspeicher auf.
  • —ref - Listet alle Blob-Verweise im Knotenspeicher auf.
  • —consistency : Listet alle fehlenden Blobs auf, indem es eine Konsistenzprüfung durchführt.

Die folgenden Optionen sind fakultativ:

  • —store - Pfad zum Segmentspeicher von mongo uri (erforderlich für die Optionen —ref und —consistency weiter oben).
  • —dump : Pfad, in dem die Dateien abgelegt werden sollen (optional). Andernfalls werden die Dateien im Verzeichnis „user/tmp“ abgelegt.
  • —s3ds - Pfad zur S3DataStore-Konfigurationsdatei.
  • —fds - Pfad zur FileDataStore-Konfigurationsdatei (Eigenschaft „path“ ist obligatorisch).
  • —track : Pfad des lokalen Repository-Basisordners (optional). Dadurch wird eine Kopie der zu verfolgenden heruntergeladenen Blob-IDs platziert.

Ähnliche Themen

Oak DataStore-Prüfung

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