문서 메뉴
문서 홈
/
MongoDB 매뉴얼
/ / /

BalancerCollectionStatus

이 페이지의 내용

  • 정의
  • 액세스 제어
  • 문서 출력
  • 예제
balancerCollectionStatus

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

admin 데이터베이스에 대해서만 balancerCollectionStatus 를 실행할 수 있습니다.

mongosh 에서 이 명령은 sh.balancerCollectionStatus() 헬퍼 메서드를 통해서도 실행할 수 있습니다.

헬퍼 메서드는 mongosh 사용자에게 편리하지만 데이터베이스 명령과 동일한 수준의 정보를 반환하지 못할 수 있습니다. 편의가 필요하지 않거나 추가 리턴 필드가 필요한 경우 데이터베이스 명령을 사용합니다.

명령은 다음과 같은 형식을 취합니다.

db.adminCommand( { balancerCollectionStatus: "<db>.<collection>" } )

샤드 컬렉션의 전체 네임스페이스("<db>.<collection>")를 지정합니다.

mongosh 은(는) 래퍼 메서드 sh.balancerCollectionStatus() 을(를) 제공합니다.

액세스 제어와 함께 실행하는 경우 명령을 실행하려면 사용자에게 데이터베이스 및/또는 enableSharding collection 에 대한 권한 조치가 있어야 합니다. 즉, 사용자에게는 다음 권한 을 부여하는 역할 이 있어야 합니다.

{ resource: { db: <database>, collection: <collection> }, actions: [ "enableSharding" ] }

기본 제공 clusterManager 역할은 적절한 권한을 제공합니다.

다음은 명령이 반환하는 문서의 예입니다.

{
"balancerCompliant" : false,
"firstComplianceViolation" : "chunksImbalance",
"ok" : 1,
"operationTime" : Timestamp(1583192967, 16),
"$clusterTime" : {
"clusterTime" : Timestamp(1583192967, 16),
"signature" : {
"hash" : BinData(0,"AAAAAAAAAAAAAAAAAAAAAAAAAAA="),
"keyId" : NumberLong(0)
}
}
}
필드
설명
"balancerCompliant"
청크를 이동할 필요가 없는지(true) 또는 이동해야 하는지(false)를 나타내는 부울입니다.
"firstComplianceViolation"

이 네임스페이스의 청크를 이동해야 하는 이유를 나타내는 문자열입니다. 이 필드는 "balancerCompliant"false 인 경우에만 사용할 수 있습니다.

가능한 값은 다음과 같습니다.

설명
"draining"

샤드 제거 작업 이 진행 중이며 MongoDB는 제거된 샤드에서 청크를 다른 샤드로 배출해야 합니다.

참고

"firstComplianceViolation""draining" 을 반환하면 "zoneViolation" 으)로 인해 보류 중인 청크 마이그레이션이 있을 수도 있습니다.

"zoneViolation"

청크가 샤드에 대해 정의된 구역 범위 를 위반합니다.

참고

"firstComplianceViolation""zoneViolation" 로 응답하면 "chunksImbalance" 으)로 인해 보류 중인 청크 마이그레이션이 있을 수도 있습니다.

"chunksImbalance"
collection에 대해 청크가 가장 많은 샤드와 청크가 가장 적은 샤드 간의 청크 수 차이가 마이그레이션 임계값을 초과합니다.

이 명령은 명령별 반환 필드 외에도 작업에 대한 ok 상태 필드, operationTime 필드 및 $clusterTime 필드도 반환합니다. 이러한 필드에 대한 자세한 내용은 응답을 참조하세요.

샤드 collection test.contacts 의 청크가 현재 균형을 이루고 있는지 확인하려면 mongos 인스턴스에 연결하고 다음 명령을 실행합니다.

db.adminCommand( { 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)
}
}
}

돌아가기

addShardToZone

다음

BalancerStart