addShard
정의
addShard
샤딩된 클러스터에 샤드 복제본 세트 를 추가합니다.
팁
mongosh
에서는 이 명령을sh.addShard()
헬퍼 메서드를 통해서도 실행할 수 있습니다.헬퍼 메서드는
mongosh
사용자에게 편리하지만 데이터베이스 명령과 동일한 수준의 정보를 반환하지 못할 수 있습니다. 편의가 필요하지 않거나 추가 리턴 필드가 필요한 경우 데이터베이스 명령을 사용합니다.
호환성
이 명령은 다음 환경에서 호스팅되는 배포에서 사용할 수 있습니다.
MongoDB Atlas: 클라우드에서의 MongoDB 배포를 위한 완전 관리형 서비스
중요
이 명령은 서버리스 인스턴스에서는 지원되지 않습니다. 자세한 내용은 지원되지 않는 명령을 참조하세요.
MongoDB Enterprise: MongoDB의 구독 기반 자체 관리 버전
MongoDB Community: MongoDB의 소스 사용 가능 무료 자체 관리 버전
구문
명령은 다음과 같은 구문을 가집니다:
db.adminCommand( { addShard: "<replica_set>/<hostname><:port>", maxSize: <size>, name: "<shard_name>" } )
명령 필드
이 명령에는 다음 필드가 포함됩니다.
필드 | 유형 | 설명 | |
---|---|---|---|
addShard | 문자열 | 최소 한 명의 샤드 복제본 세트 멤버의 복제본 세트 이름, 호스트 이름 및 포트입니다. 모든 추가 복제본 세트 멤버 호스트 이름은 쉼표로 구분해야 합니다. 예를 들면 다음과 같습니다.
| |
maxSize | integer | 선택 사항. 샤드의 최대 크기(MB)입니다. maxSize ~ 0 로 설정하면 MongoDB는 샤드의 크기를 제한하지 않습니다. | |
name | 문자열 | 선택 사항. 샤드의 이름입니다. 이 이름을 지정하지 않으면 MongoDB가 자동으로 고유한 이름을 제공합니다. |
addShard
명령은 config 데이터베이스 에 샤드 구성 정보를 저장합니다. admin
데이터베이스 를 사용할 때는 항상 addShard
를 실행 합니다.
머신이 디스크 용량이 서로 다르거나 일부 샤드의 데이터 양을 제한하려는 경우 maxSize
를 지정합니다. 제약 조건은 maxSize
샤드에서 totalSize
listDatabases
maxSize
을 실행하여 반환된 값이 값을 초과할 때 밸런서 가 청크를 샤드로 마이그레이션하는 것을 방지합니다.
고려 사항
밸런싱
샤딩된 클러스터에 샤드를 추가하면 기존의 모든 샤드 컬렉션에 대한 클러스터의 샤드 간 청크 밸런스에 영향을 줍니다. 밸런서가 청크 마이그레이션을 시작하여 클러스터가 균형을 이룰 수 있도록 합니다. 자세한 내용은 밸런서 내부를 참조하세요.
소스 샤드는 기본적으로 마이그레이션된 문서를 자동으로 보관하므로 청크 마이그레이션은 디스크 공간에 영향을 미칠 수 있습니다. 자세한 내용은 moveChunk
디렉토리를 참조하세요.
숨겨진 멤버
예시
다음 명령은 복제본 세트를 샤드로 추가합니다.
use admin db.runCommand( { addShard: "repl0/mongodb3.example.net:27327"} )
경고
config 서버가 localhost
에서도 실행 중인 경우가 아니라면 호스트 이름에 localhost
을 사용하지 마세요.