Join us at MongoDB.local London on 7 May to unlock new possibilities for your data. Use WEB50 to save 50%.
Register now >
Docs Menu
Docs Home
/ /

shardDrainingStatus (데이터베이스 명령)

shardDrainingStatus

밸런서 여전히 청크를 클러스터 의 다른 샤드로 이동시키고 있는지 또는 프로세스 완료되었는지 여부를 나타내는 배출 샤드 의 상태를 표시합니다.

이 명령은 샤드 존재하지 않으면 오류를 반환하고, 그렇지 않으면 배출 작업의 상태를 반환합니다.

샤드 배출 시작하려면 startShardDraining 명령을 참조하세요.

샤드 배출 중지하려면 명령을 stopShardDraining 참조하세요.

드레이닝된 샤드 제거 하려면 명령을 commitShardRemoval 참조하세요.

버전 8.3에 추가 되었습니다.

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

  • MongoDB Enterprise: MongoDB의 구독 기반 자체 관리 버전

  • MongoDB Community: MongoDB의 소스 사용 가능 무료 자체 관리 버전

참고

이 명령은 MongoDB Atlas에서 지원되지 않습니다. Atlas 클러스터에 샤드를 추가하거나 제거 하려면 Modify your Atlas Sharded Atlas cluster 샤드 클러스터 수정)를 참조하세요.

명령은 다음과 같은 구문을 가집니다:

db.adminCommand( {
shardDrainingStatus: <shard>
} )

이 명령은 다음 출력을 반환합니다.

필드
유형
설명

msg

문자열

밸런서 에서 수행 중인 현재 배출 작업을 제공합니다.

state

문자열

배출 작업의 상태를 제공합니다.

shard

문자열

배출 샤드 나타냅니다.

remaining

문서

샤드 를 배출하기 위해 밸런서 수행해야 하는 나머지 작업을 표시합니다.

remaining.chunks

long

샤드 에 아직 남아 있는 청크의 수를 나타냅니다.

remaining.dbs

long

샤드 에 아직 남아 있는 데이터베이스의 수를 나타냅니다.

remaining.jumboChunks

long

샤드 에 아직 남아 있는 큰 청크의 수를 나타냅니다.

remaining.collectionsToMove

long

샤드 에 남아 있는 컬렉션의 수를 나타냅니다.

note

문자열

사용자에게 추가 메시지를 제공합니다.

dbsToMove

배열

배출 샤드 프라이머리 샤드 로 사용하는 데이터베이스를 나타냅니다. 클러스터 에서 샤드 제거 하려면 먼저 명령을 사용하여 이러한 데이터베이스를 새 샤드 로 수동으로 이동해야 movePrimary 합니다.

collectionsToMove

배열

배출 샤드 에 저장된 샤딩되지 않은 컬렉션을 나타냅니다. 클러스터 에서 샤드 제거 하려면 먼저 명령을 사용하여 이러한 컬렉션을 다른 샤드 로 수동으로 이동해야 합니다.moveCollection

authorization 을(를) 활성화한 경우 clusterManager 역할 또는 removeShard 작업을 포함하는 역할이 있어야 합니다.

샤딩된 클러스터 의 각 데이터베이스 에는 프라이머리 샤드 가 있습니다. 드레이닝하려는 샤드 클러스터 데이터베이스 중 하나의 프라이머리 이기도 한 경우, 샤드 에서 모든 데이터를 마이그레이션한 후 데이터베이스를 새 샤드 로 수동으로 이동해야 합니다. 자세한 내용은 movePrimary 명령 및 샤드 클러스터에서 샤드 제거를 참조하세요.

샤딩되지 않은 컬렉션은 개별 샤드에 저장됩니다. 이러한 컬렉션 중 하나가 제거 하려는 샤드 에 있는 경우 먼저 컬렉션 다른 샤드 로 마이그레이션 해야 합니다.

샤딩되지 않은 컬렉션 마이그레이션 하려면 명령을 moveCollection 참조하세요.

샤드 배출 시작하려면 db.adminCommand() 메서드를 startShardDraining 사용하여 명령을 실행 .

db.adminCommand( { startShardDraining: "shard04" } )

배출 작업의 상태를 확인하려면 shardDrainingStatus 명령을 사용합니다.

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

돌아가기

shardCollection

이 페이지의 내용