sh.balancerCollectionStatus()
정의
sh.balancerCollectionStatus(namespace)
샤드 collection의 청크가 균형을 이루고 있는지 여부에 대한 정보가 포함된 문서를 반환합니다(즉, 또는 샤드 배출, 구역 위반 또는 샤드 간 청크의 불균형으로 인해 이동해야 하는 경우).
중요
Mongo쉬 방법
이 페이지에서는
mongosh
메서드를 설명합니다. 이는 데이터베이스 명령 또는 Node.js와 같은 언어별 드라이버에 대한 설명서가 아닙니다.데이터베이스 명령의 경우
balancerCollectionStatus
명령을 참조하세요.MongoDB API 드라이버의 경우 언어별 MongoDB 드라이버 설명서를 참조하세요.
호환성
이 메서드는 다음 환경에서 호스팅되는 배포에서 사용할 수 있습니다.
MongoDB Atlas: 클라우드에서의 MongoDB 배포를 위한 완전 관리형 서비스
중요
이 명령은 서버리스 인스턴스에서는 지원되지 않습니다. 자세한 내용은 지원되지 않는 명령을 참조하세요.
MongoDB Enterprise: MongoDB의 구독 기반 자체 관리 버전
MongoDB Community: MongoDB의 소스 사용 가능 무료 자체 관리 버전
구문
sh.balancerCollectionStatus()
의 형식은 다음과 같습니다.
sh.balancerCollectionStatus( <namespace> )
Parameter
sh.balancerCollectionStatus()
메서드는 다음 매개 변수를 사용합니다.
액세스 제어
액세스 제어와 함께 실행하는 경우 메서드를 실행하려면 사용자에게 데이터베이스 및/또는 enableSharding
collection 에 대한 권한 조치가 있어야 합니다. 즉, 사용자에게는 다음 권한 을 부여하는 역할 이 있어야 합니다.
{ resource: { db: <database>, collection: <collection> }, actions: [ "enableSharding" ] }
기본 제공 clusterManager
역할은 적절한 권한을 제공합니다.
예시
샤딩된 collection test.contacts
의 청크가 현재 균형을 이루고 있는지 확인하려면 mongos
인스턴스에 연결하고 다음을 실행합니다.
sh.balancerCollectionStatus("test.contacts")
collection의 청크를 이동할 필요가 없는 경우 메서드는 다음과 유사한 출력을 반환합니다.
{ "balancerCompliant" : true, "ok" : 1, "operationTime" : Timestamp(1583193238, 1), "$clusterTime" : { "clusterTime" : Timestamp(1583193238, 1), "signature" : { "hash" : BinData(0,"AAAAAAAAAAAAAAAAAAAAAAAAAAA="), "keyId" : NumberLong(0) } } }
지속적인 조각 모음 프로세스
쿼리된 네임스페이스가 청크 조각 모음을 거치는 경우 sh.balancerCollectionStatus
메서드는 다음과 유사한 출력을 반환합니다.
{ "chunkSize": Long("128"), "balancerCompliant": false, "firstComplianceViolation": "defragmentingChunks", "details": { "currentPhase": "moveAndMergeChunks", "progress": { "remainingChunksToProcess": 1 } } }
참고
청크 조각 모음은 여러 단계로 진행됩니다. progress
필드는 현재 단계에만 적용됩니다.
출력에 대한 설명은 BalancerCollectionStatus 출력을 참조하세요.