oak-run을 통해 데이터 저장소의 일관성 검사를 실행하는 방법
Adobe Experience Manager에서 oak-run을 통해 데이터 저장소 일관성 검사를 실행하는 방법을 알아봅니다.
설명 description
환경
AEM(Adobe Experience Manager)
문제
데이터 저장소 일관성 검사는 누락되었지만 여전히 참조되는 모든 데이터 저장소 바이너리를 보고합니다. 일관성 검사는 Felix 콘솔에서 직접 트리거할 수 있습니다.
MarkSweepGarbageCollector#checkConsistency Mbean에서 트리거될 수 있습니다.
BlobGC MBeans이(가) MBeanServer에 등록되어 있으면 다음 mbean도 사용할 수 있습니다.
BlobGCMbean#checkConsistency
일관성 검사가 완료되면 누락된 것으로 보고된 바이너리 수가 표시됩니다. 숫자가 0(zero)보다 큰 경우 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 도구는 나머지 콘텐츠 경로 외에 /oak: index에서 숨겨진 Lucene 인덱스 파일을 확인합니다. oak-run 의 datastorecheck 명령을 사용하여 데이터 저장소에서 일관성 검사를 실행할 수 있습니다. 명령을 실행하는 방법에 대한 자세한 단계는 아래에 자세히 설명되어 있습니다.
해결 방법 resolution
-
AEM 서버에 oak-run jar 1.8.8 이상 버전을 다운로드합니다.
-
oak 실행 jar를
crx-quickstart이(가) 있는 동일한 디렉터리에 배치하거나 아래 명령을 실행하는 동안oak-run-*.jar의 전체 경로를 제공합니다. -
아래 명령을 실행합니다(사용자 환경에 따라 세그먼트 저장소 및 데이터 저장소에 대한 경로 업데이트).
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 -
이 명령은 데이터 저장소의 일관성 검사를 출력합니다.
DataStore의 일관성 검사기를 사용하여 노드 저장소의 모든 Blob 참조와 데이터 저장소에서 사용 가능한 모든 Blob ID를 나열할 수도 있습니다. 다음 명령 사용:
$ java-jar oak-run-*.jar datastorecheck [ --id] [ --ref] [ --consistency] \
[ --store |] \
[ --s3ds |--fds] \
[ --dump] \
[ --track]
사용 가능한 한 개 이상의 옵션 제공:
—id - 데이터 저장소의 모든 id를 나열합니다.
—ref - 노드 저장소의 모든 blob 참조를 나열합니다.
—consistency - 일관성 확인을 통해 누락된 모든 블로그를 나열합니다.
다음과 같은 옵션을 선택할 수 있습니다.
—store - mongo uri의 세그먼트 저장소 경로(위의 —ref 및 —consistency 옵션에 필요).
—dump - 파일을 덤프할 경로(선택 사항). 그렇지 않은 경우 파일이 사용자 tmp 디렉터리에서 덤프됩니다.
—s3ds - S3DataStore 구성 파일의 경로.
—fds - FileDataStore 구성 파일의 경로('경로' 속성은 필수).
—track - 로컬 저장소 홈 폴더의 경로(선택 사항). 다운로드한 Blob ID 사본을 배치하여 추적합니다.