문서 메뉴

문서 홈애플리케이션 개발MongoDB 매뉴얼

addShard

이 페이지의 내용

  • 정의
  • 고려 사항
  • 예제
addShard

cluster에 복제본 세트를 추가합니다.

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

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

인스턴스에 연결되면 를 실행합니다. 이 명령은 다음과 같은 addShard 형식을 사용하여 샤드 복제본 세트를 추가합니다.mongos

{ addShard: "<replica_set>/<hostname><:port>", maxSize: <size>, name: "<shard_name>" }

이 명령에는 다음 필드가 포함됩니다.

필드
유형
설명
addShard
문자열

최소 한 명의 샤드 복제본 세트 멤버의 복제본 세트 이름, 호스트 이름 및 포트입니다. 모든 추가 복제본 세트 멤버 호스트 이름은 쉼표로 구분해야 합니다. 예를 들면 다음과 같습니다.

<replica_set>/<hostname><:port>,<hostname><:port>, ...
maxSize
integer
선택 사항. 샤드의 최대 크기(MB)입니다. maxSize ~ 0 로 설정하면 MongoDB는 샤드의 크기를 제한하지 않습니다.
name
문자열
선택 사항. 샤드의 이름입니다. 이 이름을 지정하지 않으면 MongoDB가 자동으로 고유한 이름을 제공합니다.

addShard 명령은 config 데이터베이스 에 샤드 구성 정보를 저장합니다. admin 데이터베이스를 사용할 때는 항상 addShard 를 실행하세요.

머신이 디스크 용량이 서로 다르거나 일부 샤드의 데이터 양을 제한하려는 경우 maxSize 를 지정합니다. 제약 조건은 maxSize 샤드에서 totalSize listDatabases maxSize을 실행하여 반환된 값이 값을 초과할 때 밸런서 가 청크를 샤드로 마이그레이션하는 것을 방지합니다.

샤드 cluster에 샤드를 추가하면 기존의 모든 샤드 collection에 대한 cluster의 샤드 간 청크 밸런스에 영향을 줍니다. 밸런서가 청크 마이그레이션을 시작하여 cluster가 균형을 이룰 수 있도록 합니다. 자세한 내용은 cluster 밸런서 를 참조하세요.

소스 샤드는 기본적으로 마이그레이션된 문서를 자동으로 보관하므로 청크 마이그레이션은 디스크 공간에 영향을 미칠 수 있습니다. 자세한 내용은 moveChunk 디렉토리를 참조하세요.

중요

addShard 제공된 시드 목록에 숨겨진 멤버 를 포함할 수 없습니다.

다음 명령은 복제본 세트를 샤드로 추가합니다.

use admin
db.runCommand( { addShard: "repl0/mongodb3.example.net:27327"} )

경고

config 서버가 localhost 에서도 실행 중인 경우가 아니라면 호스트 이름에 localhost 을 사용하지 마세요.

← abortReshardCollection

이 페이지의 내용