Docs Menu
Docs Home
/
MongoDB 매뉴얼
/ / /

sh.balancerCollectionStatus()

이 페이지의 내용

  • 정의
  • 호환성
  • 구문
  • 액세스 제어
  • 예시
sh.balancerCollectionStatus(namespace)

샤드 collection의 청크가 균형을 이루고 있는지 여부에 대한 정보가 포함된 문서를 반환합니다(즉, 또는 샤드 배출, 구역 위반 또는 샤드 간 청크의 불균형으로 인해 이동해야 하는 경우).

중요

Mongo쉬 방법

이 페이지에서는 mongosh 메서드를 설명합니다. 이는 데이터베이스 명령 또는 Node.js와 같은 언어별 드라이버에 대한 설명서가 아닙니다.

데이터베이스 명령의 경우 balancerCollectionStatus 명령을 참조하세요.

MongoDB API 드라이버의 경우 언어별 MongoDB 드라이버 설명서를 참조하세요.

이 메서드는 다음 환경에서 호스팅되는 배포에서 사용할 수 있습니다.

  • MongoDB Atlas: 클라우드에서의 MongoDB 배포를 위한 완전 관리형 서비스

중요

이 명령은 서버리스 인스턴스에서는 지원되지 않습니다. 자세한 내용은 지원되지 않는 명령을 참조하세요.

sh.balancerCollectionStatus() 의 형식은 다음과 같습니다.

sh.balancerCollectionStatus( <namespace> )

sh.balancerCollectionStatus() 메서드는 다음 매개 변수를 사용합니다.

Parameter
유형
설명
문자열

"<database>.<collection>" 형식으로 샤딩할 컬렉션의 네임스페이스입니다.

액세스 제어와 함께 실행하는 경우 메서드를 실행하려면 사용자에게 데이터베이스 및/또는 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 출력을 참조하세요.

돌아가기

sh.addTagRange