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
/ /

commitShardRemoval (데이터베이스 명령)

commitShardRemoval

샤딩된 클러스터 에서 샤드 제거합니다.

이 명령을 실행 하려면 먼저 명령을 사용하여 샤드 비워야 startShardDraining 합니다. 이 명령은 밸런서 청크를 샤드 에서 클러스터 의 다른 샤드로 이동하도록 지시합니다. 또한 명령을 실행 전에 샤드 프라이머리 샤드 로 사용하는 모든 데이터베이스와 샤드 에 저장된 샤드 해제되지 않은 컬렉션을 수동으로 이동해야 commitShardRemoval 합니다.

이 명령은 샤드 완전히 비워지지 않았거나 데이터베이스 또는 샤딩되지 않은 컬렉션 포함된 경우 오류를 반환합니다. 샤드 비워지고 모든 데이터베이스와 샤딩되지 않은 컬렉션이 샤드 에서 마이그레이션된 경우 명령은 ok를 반환합니다.

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

배출 샤드 의 상태를 확인하려면 명령을 shardDrainingStatus 참조하세요.

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

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

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

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

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

참고

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

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

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

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

샤딩된 클러스터 의 각 데이터베이스 에는 프라이머리 샤드 가 있습니다. 드레이닝하려는 샤드 가 클러스터 데이터베이스 중 하나의 프라이머리 이기도 한 경우, 샤드 에서 모든 데이터를 마이그레이션한 후 프라이머리 샤드 에서 새 샤드 로 데이터베이스를 수동으로 이동해야 합니다.

사용하려는 샤드 프라이머리 로 사용하는 데이터베이스 있는 경우 commitShardRemoval 명령은 오류를 반환합니다.

자세한 내용은 movePrimary 명령 및 샤드 클러스터에서 샤드 제거를 참조하세요.

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

제거 하려는 샤드 에 샤딩되지 않은 컬렉션 저장된 경우 commitShardRemoval 명령은 오류를 반환합니다.

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

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

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

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

db.adminCommand( { shardDrainingStatus: "shard04" } )
{
"msg" : "draining completed successfully",
"state" : "drainingComplete",
"ok" : 1,
"$clusterTime" : {
"clusterTime" : Timestamp(1771839836, 139),
"signature" : {
"hash" : BinData(0,"AAAAAAAAAAAAAAAAAAAAAAAAAAA="),
"keyId" : NumberLong(0)
}
},
"operationTime" : Timestamp(1771839836, 139)
}

출력에 dbsToMove 필드 에 movePrimary 데이터베이스가 표시되면 명령을 사용하여 해당 데이터베이스를 다른 샤드 로 이동합니다.

출력에 collectionsToMove 필드 에 샤딩되지 moveCollection 않은 컬렉션이 표시되면 명령을 사용하여 컬렉션을 다른 샤드 로 이동합니다.

에 가 표시되면 밸런서 가 샤드 에서 청크 이동을 완료한 것입니다. 이제 샤드 제거 할 수 shardDrainingStatus 있습니다.{ state: "drainingComplete" }

db.adminCommand( { commitShardRemoval: "shard04" } )
{
"ok" : 1,
"$clusterTime" : {
"clusterTime" : Timestamp(1771840037, 12),
"signature" : {
"hash" : BinData(0,"AAAAAAAAAAAAAAAAAAAAAAAAAAA="),
"keyId" : NumberLong(0)
}
},
"operationTime" : Timestamp(1771840037, 12)
}

돌아가기

commitReshardCollection

이 페이지의 내용