BalancerCollectionStatus
정의
balancerCollectionStatus
샤드 collection의 청크가 균형을 이루고 있는지 여부에 대한 정보가 포함된 문서를 반환합니다(즉, 또는 샤드 배출, 구역 위반 또는 샤드 간 청크의 불균형으로 인해 이동해야 하는 경우).
admin
데이터베이스에 대해서만balancerCollectionStatus
를 실행할 수 있습니다.팁
mongosh
에서 이 명령은sh.balancerCollectionStatus()
헬퍼 메서드를 통해서도 실행 수 있습니다.헬퍼 메서드는
mongosh
사용자에게 편리하지만 데이터베이스 명령과 동일한 수준의 정보를 반환하지 못할 수 있습니다. 편의가 필요하지 않거나 추가 리턴 필드가 필요한 경우 데이터베이스 명령을 사용합니다.
호환성
이 명령은 다음 환경에서 호스팅되는 배포에서 사용할 수 있습니다.
MongoDB Atlas: 클라우드에서의 MongoDB 배포를 위한 완전 관리형 서비스
중요
이 명령은 서버리스 인스턴스에서는 지원되지 않습니다. 자세한 내용은 지원되지 않는 명령을 참조하세요.
MongoDB Enterprise: MongoDB의 구독 기반 자체 관리 버전
MongoDB Community: MongoDB의 소스 사용 가능 무료 자체 관리 버전
구문
명령은 다음과 같은 구문을 가집니다:
db.adminCommand( { balancerCollectionStatus: "<db>.<collection>" } )
샤드 collection의 전체 네임스페이스("<db>.<collection>"
)를 지정합니다.
mongosh
은(는) 래퍼 메서드 sh.balancerCollectionStatus()
을(를) 제공합니다.
액세스 제어
액세스 제어와 함께 실행하는 경우 명령을 실행하려면 사용자에게 데이터베이스 및/또는 enableSharding
collection 에 대한 권한 조치가 있어야 합니다. 즉, 사용자에게는 다음 권한 을 부여하는 역할 이 있어야 합니다.
{ resource: { db: <database>, collection: <collection> }, actions: [ "enableSharding" ] }
기본 제공 clusterManager
역할은 적절한 권한을 제공합니다.
문서 출력
다음은 명령이 반환하는 문서의 예입니다.
{ "chunkSize": Long("128"), "balancerCompliant" : false, "firstComplianceViolation" : "chunksImbalance", "ok" : 1, "operationTime" : Timestamp(1583192967, 16), "$clusterTime" : { "clusterTime" : Timestamp(1583192967, 16), "signature" : { "hash" : BinData(0,"AAAAAAAAAAAAAAAAAAAAAAAAAAA="), "keyId" : NumberLong(0) } } }
필드 | 설명 |
---|---|
"chunkSize" | 버전 5.3에 추가. 청크 크기를 메가바이트 단위로 나타내는 정수입니다. |
"balancerCompliant" | 청크를 이동할 필요가 없는지( true ) 또는 이동해야 하는지(false )를 나타내는 부울입니다. |
"firstComplianceViolation" | 이 네임스페이스의 청크를 이동해야 하는 이유를 나타내는 문자열입니다. 이 필드는 가능한 값은 다음과 같습니다.
이 필드는 MongoDB에서 관찰된 첫 번째 위반에 대한 정보만 반환합니다. |
"details" | 진행 중인 조각 모음 프로세스에 대한 정보가 포함된 객체입니다. 이 객체는 조각 모음의 현재 단계와 해당 단계에서 처리해야 할 청크의 수를 나타냅니다. 출력 예시는 지속적인 조각 모음 프로세스를 참조하세요. 이 필드는 |
이 명령은 명령별 반환 필드 외에도 작업에 대한 ok
상태 필드, operationTime
필드 및 $clusterTime
필드도 반환합니다. 이러한 필드에 대한 자세한 내용은 응답을 참조하세요.
예시
샤드 collection test.contacts
의 청크가 현재 균형을 이루고 있는지 확인하려면 mongos
인스턴스에 연결하고 다음 명령을 실행합니다.
db.adminCommand( { balancerCollectionStatus: "test.contacts" } )
collection의 청크를 이동할 필요가 없는 경우 명령은 다음과 유사한 출력을 반환합니다.
{ "chunkSize": Long("128"), "balancerCompliant" : true, "ok" : 1, "operationTime" : Timestamp(1583193238, 1), "$clusterTime" : { "clusterTime" : Timestamp(1583193238, 1), "signature" : { "hash" : BinData(0,"AAAAAAAAAAAAAAAAAAAAAAAAAAA="), "keyId" : NumberLong(0) } } }
지속적인 조각 모음 프로세스
쿼리된 네임스페이스가 청크 조각 모음을 거치는 경우 balancerCollectionStatus
명령은 다음과 유사한 출력을 반환합니다.
{ "chunkSize": Long("128"), "balancerCompliant": false, "firstComplianceViolation": "defragmentingChunks", "details": { "currentPhase": "moveAndMergeChunks", "progress": { "remainingChunksToProcess": 1 } } }
참고
청크 조각 모음은 여러 단계로 진행됩니다. progress
필드는 현재 단계에만 적용됩니다.
더욱 자세히 알아봅니다:
조각 모음 모니터링 은 샤드 collection의 조각 모음 모니터링을 참조하세요.
샤드 collection 조각 모음은 샤드 collection 조각 모음을 참조하세요 .