정의
sh.shardDrainingStatus(shardId)밸런서 여전히 청크를 클러스터 의 다른 샤드로 이동시키고 있는지 또는 프로세스 완료되었는지 여부를 나타내는 배출 샤드 의 상태를 표시합니다.
버전 9.0에 추가 되었습니다.
shardId를 지정하지 않으면 메서드는 현재 배출 모든 샤드의 상태를 반환합니다.중요
Mongo쉬 방법
이 페이지에서는
mongosh메서드를 설명합니다. 이는 데이터베이스 명령이나 Node.js와 같은 언어별 드라이버에 대한 설명서가 아닙니다.데이터베이스 명령에 대해서는
shardDrainingStatus명령을 참조하십시오.MongoDB API 드라이버의 경우 언어별 MongoDB 드라이버 설명서를 참조하세요.
호환성
이 메서드는 다음 환경에서 호스팅되는 배포에서 사용할 수 있습니다.
MongoDB Enterprise: MongoDB의 구독 기반 자체 관리 버전
MongoDB Community: MongoDB의 소스 사용 가능 무료 자체 관리 버전
참고
이 명령은 MongoDB Atlas에서 지원되지 않습니다. Atlas 클러스터에 샤드를 추가하거나 제거 하려면 Modify your Atlas Sharded Atlas cluster 샤드 클러스터 수정)를 참조하세요.
구문
sh.shardDrainingStatus( <shardId> )
매개변수
Parameter | 유형 | 설명 |
|---|---|---|
| 문자열 | 선택 사항. 보고할 배출 샤드 의 이름입니다. 생략하면 이 메서드는 모든 배출 샤드에 대해 보고합니다. |
출력 필드
출력 필드는 shardDrainingStatus 명령을 참조하세요.
행동
액세스 요구 사항
authorization 을(를) 활성화한 경우 clusterManager 역할 또는 removeShard 작업을 포함하는 역할이 있어야 합니다.
데이터베이스 마이그레이션 요구 사항
샤딩된 클러스터 의 각 데이터베이스 에는 프라이머리 샤드 가 있습니다. 드레이닝하려는 샤드 클러스터 데이터베이스 중 하나의 프라이머리 이기도 한 경우, 샤드 에서 모든 데이터를 마이그레이션한 후 데이터베이스를 새 샤드 로 수동으로 이동해야 합니다. movePrimary 명령 및 샤드 클러스터에서 샤드 제거 를 참조하세요.
컬렉션 마이그레이션 요구 사항
샤딩되지 않은 컬렉션은 개별 샤드에 저장됩니다. 이러한 컬렉션 중 하나가 제거 하려는 샤드 에 있는 경우 먼저 컬렉션 다른 샤드 로 마이그레이션 해야 합니다.
샤딩되지 않은 컬렉션 마이그레이션 하려면 moveCollection 명령을 참조하세요.
예시
다음 예시 shard04 샤드 의 배출 상태를 반환합니다.
sh.shardDrainingStatus( "shard04" )
{ msg: "draining ongoing", state: "ongoing", remaining: { chunks: Long(2), dbs: Long(2), jumboChunks: Long(0), collectionsToMove: Long(2) }, shard: "shard04", note: "you need to call moveCollection for collectionsToMove and afterwards movePrimary for the dbsToMove", dbsToMove: [ "fizz", "buzz" ], collectionsToMove: [ "fizz.coll1", "buzz.coll1" ], ok: 1, operationTime: Timestamp(1575399086, 1655), $clusterTime: { clusterTime: Timestamp(1575399086, 1655), signature: { hash: BinData(0,"XBrTmjMMe82fUtVLRm13GBVtRE8="), keyId: Long("6766255701040824328") } } }