Ausführen einer Konsistenzprüfung des Datenspeichers mit oak-run
Erfahren Sie, wie Sie eine Konsistenzprüfung des Datenspeichers mit oak-run in Adobe Experience Manager ausführen.
Beschreibung description
Umgebung
Adobe Experience Manager (AEM)
Problem
Bei der Konsistenzprüfung des Datenspeichers werden alle Datenspeicherbinärdateien gemeldet, die fehlen, aber noch referenziert werden. Die Konsistenzprüfung kann direkt durch die Felix-Konsole ausgelöst werden.
Er könnte von MarkSweepGarbageCollector#checkConsistency Mbean ausgelöst werden.
Wenn die BlobGC MBeans im MBeanServer registriert sind, können auch die folgenden mbean verwendet werden:
BlobGCMbean#checkConsistency
Nach Abschluss der Konsistenzprüfung wird eine Meldung mit der Anzahl der als fehlend gemeldeten Binärdateien angezeigt. Ist die Zahl größer als 0(Null), überprüfen Sie die für org.apache.jackrabbit.oak.plugins.blob .MarkSweepGarbageCollector konfigurierten Protokolle, um weitere Details zu fehlenden Binärdateien anzuzeigen.
Nachfolgend finden Sie ein Beispiel dafür, wie die fehlenden Binärdateien in den Protokollen gemeldet werden:
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
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. datastorecheck Befehl oak-run kann verwendet werden, um eine Konsistenzprüfung im Datenspeicher durchzuführen. Die detaillierten Schritte zur Ausführung des Befehls werden im Folgenden beschrieben:
Auflösung resolution
-
Laden Sie oak-run jar 1.8.8 oder eine neuere Version auf Ihren AEM-Server herunter.
-
Platzieren Sie die JAR-Datei für die Oak-Ausführung in demselben Verzeichnis, in dem
crx-quickstartplatziert wird, andernfalls geben Sie den vollständigen Pfad deroak-run-*.jaran, während Sie unter dem folgenden Befehl ausführen. -
Führen Sie den folgenden Befehl aus (aktualisieren Sie die Pfade zum Segmentspeicher und Datenspeicher gemäß Ihrer Umgebung):
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 -
Der Befehl gibt eine Konsistenzprüfung des Datenspeichers aus.
Die Konsistenzprüfung für den Datenspeicher kann auch verwendet werden, um alle Blob-Verweise im Knotenspeicher und alle Blob-IDs im Datenspeicher aufzulisten. 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.