샤딩된 클러스터 배포
- Cloud Manager 에 대한 프로그래밍 방식의 액세스 를 위한 OAuth 2.0 인증 은 Preview 기능 으로 제공됩니다.
- 기능 및 해당 설명서는 미리 보기 기간에 언제든지 변경될 수 있습니다. OAuth 2.0 인증 을 사용하려면 Cloud Manager 공개 API 에 대한 요청에 사용할서비스 계정을 만듭니다.
샤딩된 클러스터 대규모 데이터 세트에 대한 수평적 확장을 제공하며, 여러 서버 그룹에 데이터 세트를 분산하여 높은 처리량의 작업을 가능하게 합니다.
샤딩에 대해 자세히 알아보려면 MongoDB 매뉴얼의 샤딩 소개를 참조하세요.
이 절차에 따라 Cloud Manager가 관리하는 새 샤딩된 클러스터를 배포할 수 있습니다. 나중에 Cloud Manager를 사용하여 샤드를 추가하고 클러스터에서 다른 유지 관리 작업을 수행할 수 있습니다.
Kubernetes 객체를 사용하여 샤드 클러스터를 배포하는 방법을 알아보려면 MongoDB Enterprise Kubernetes Operator 설명서의 샤드 클러스터 배포 를 참조하세요.
참고
Cloud Manager의 새로운 기능
Kubernetes를 사용하여 Cloud Manager로 MongoDB 인스턴스를 배포할 수 있습니다.
MongoDB 클러스터를 배포하려면 해당 클러스터를 서비스할 호스트를 프로비저닝해야 합니다. Cloud Manager에는 이러한 호스트에 대한 액세스가 필요합니다.
중요
MongoDB Enterprise를 실행하고 자체 Linux 호스트를 프로비저닝하는 경우, MongoDB를 설치하기 전에 각 서버에 종속성 세트를 수동으로 설치해야 합니다. MongoDB 매뉴얼에는 종속성 설치에 적합한 명령이 나와 있습니다.
운영 체제의 세부 사항에 대해 자세히 알아보려면 다음을 참조하세요.
고려 사항
샤딩된 클러스터의 고유 이름
새 클러스터와 해당 샤드에 고유한 이름을 사용하세요.
중요
동일한 프로젝트 내에서 복제본 세트, 샤딩된 클러스터, 샤드 이름은 고유해야 합니다. 배포를 위해 이름이 고유하지 않으면 백업 스냅샷이 손상됩니다.
구성 서버 배포 아키텍처
구성 서버 mongod
프로세스에 MongoDB 3.4 이상을 선택하는 경우 Cloud Manager 는 구성 서버를 복제본 세트 로 배포합니다.
CSRS 및 미러링된 구성 서버(SCCC)에 대해 자세히 알아보려면 구성 서버를 참조하세요.
샤드 제거
샤드를 제거하면 해당 샤드의 모든 샤딩되지 않은 데이터베이스가 movePrimary 명령을 사용하여 나머지 샤드로 이동합니다.
샤드 제거 프로세스 중에도 모든 샤딩된 컬렉션은 온라인 상태로 유지되며 사용할 수 있습니다. 그러나 movePrimary
작업 중에 샤딩되지 않은 컬렉션에 대한 읽기 또는 쓰기 작업을 수행하면 마이그레이션 실패 또는 데이터 손실과 같은 예기치 않은 동작이 발생할 수 있습니다.
샤드를 제거하기 전에 샤드되지 않은 컬렉션이 포함된 데이터베이스의 프라이머리 샤드를 이동하는 것이 좋습니다.
샤드 제거에 학습 보려면 기존 샤드 클러스터에서 샤드 제거를 참조하세요.
절차
MongoDB Cloud ManagerGo MongoDB Cloud Manager 에서 프로젝트 의 Deployment 페이지로 고 (Go) 합니다.
이미 표시되어 있지 않은 경우 탐색 모음의 Organizations 메뉴에서 원하는 프로젝트가 포함된 조직을 선택합니다.
아직 표시되지 않은 경우 탐색 표시줄의 Projects 메뉴에서 원하는 프로젝트를 선택합니다.
Deployment 페이지가 아직 표시되지 않은 경우 사이드바에서 Deployment를 클릭합니다.
배포 페이지가 표시됩니다.
클러스터 전체 설정을 구성합니다.
Cluster Configuration 션에는 다음과 같은 클러스터 전체 구성 설정이 포함되어 있습니다. Cloud Manager UI에서 * 별표로 표시된 설정이 필요합니다.
설정 | 설명 |
---|---|
Cluster Name | 샤딩된 클러스터 배포서버 의 이름을 지정합니다. 한 번 설정하다 하면 변경할 수 없습니다. |
Config Server Replica Set Name | 구성 서버 복제본 세트 의 이름을 지정합니다. 한 번 설정하다 하면 변경할 수 없습니다. 이 설정은 Cloud Manager는 구성 서버의 Version으로 MongoDB 3.2 이상을 선택한 경우에만 이 옵션을 표시합니다. |
Shard Name Prefix | 클러스터에 있는 각 샤드 의 접두사를 지정합니다. Cloud Manager는 |
Process Name | 샤드 클러스터에 연결된 Cloud Manager는 MongoDB 3.0 이하 버전을 실행하는 클러스터의 경우 Cloud Manager는 config 서버 |
Version | |
Data Directory |
각 |
Log File | 로그 파일 이름과 확장자를 포함하여 예를 예시
|
클러스터의 각 샤드를 구성합니다.
Member Configuration 섹션에서 Shard Settings 을 클릭하여 샤드 구성 옵션을 엽니다. Cloud Manager는 클러스터의 각 샤드와 해당 샤드와 연결된 mongod
프로세스를 나열합니다. 각 샤드 프로세스에는 다음과 같은 옵션이 있습니다.
설정 | 설명 |
---|---|
Member | 메뉴에서 다음 복제본 세트 노드 역할 중 하나를 선택합니다.
|
Hostname | 메뉴에서 Cloud Manager 자동화가 복제본 세트 노드를 배포할 호스트를 선택합니다. 메뉴에는 Cloud Manager 자동화 아래에 있는 호스트만 나열됩니다. Cloud Manager 자동화에 서버를 추가하는 방법에 대한 전체 문서는 자동화를 위한 서버 프로비저닝을 참조하세요. 이 호스트 이름은 호스트 이름, FQDN, IPv4 주소 또는 IPv6 주소가 될 수 있습니다. |
Port | |
Votes | |
Priority | |
Delay | 프라이머리 노드보다 '뒤처지는' 시간을 초 단위로 지정합니다. 이 노드는 '지연'이어야 합니다. 이 설정은 |
Build Indexes |
|
Tags | |
Add a Mongod |
클러스터에 샤드를 추가하려면 다음을 수행합니다.
Add a Shard를 클릭합니다.
Cluster Configuration 섹션에서 샤드의 각
mongod
에 다음 매개 변수를 설정합니다.Version
Data Directory
Log File
클러스터의 각 구성 서버를 구성합니다.
Cloud Manager 는 구성 서버에 대해 선택한 MongoDB 버전에 따라 구성 서버 설정에 대해 다른 제목을 표시합니다.
- MongoDB 3.2 이상:
Member Configuration 섹션에서 Config Server Replica Set Settings 을 클릭하여 CSRS 구성 옵션을 엽니다. 각 config 서버 복제본 세트 멤버에는 다음과 같은 옵션이 있습니다.
설정설명Member
메뉴에서 다음 복제본 세트 노드 역할 중 하나를 선택합니다.
Default
복제본 세트의 데이터 보유 노드로, 프라이머리 노드가 되어 투표할 수 있습니다.
투표할 수 있는 복제본 세트의 데이터 미보유 노드입니다.
arbiterOnly
복제본 구성 옵션에 해당합니다.투표할 수 있는 복제본 세트의 데이터 보유 노드입니다.
hidden
복제본 구성 옵션에 해당합니다.투표할 수 있는 복제본 세트의 데이터 보유 멤버입니다.
secondaryDelaySecs
및hidden
복제본 구성 옵션에 해당합니다.
Hostname
메뉴에서 Cloud Manager 자동화가 복제본 세트 노드를 배포할 호스트를 선택합니다. 메뉴에는 Cloud Manager 자동화 아래에 있는 호스트만 나열됩니다. Cloud Manager 자동화에 서버를 추가하는 방법에 대한 전체 문서는 자동화를 위한 서버 프로비저닝을 참조하세요.
이 호스트 이름은 호스트 이름, FQDN, IPv4 주소 또는 IPv6 주소가 될 수 있습니다.
Port
Votes
Priority
Delay
프라이머리 노드보다 '뒤처지는' 시간을 초 단위로 지정합니다. 이 노드는 '지연'이어야 합니다. 이 설정은
secondaryDelaySecs
mongod
복제본 세트 구성 옵션에 해당합니다.Build Indexes
mongod
가 인덱스를 빌드하도록 지시하려면true
를 지정합니다. 이 설정은buildIndexes
mongod
복제본 세트 구성 옵션에 해당합니다.Tags
Add a Mongod
- MongoDB 3.0 이전 버전
Member Configuration 섹션에서 Config Server Settings를 클릭하여 구성 서버 옵션을 엽니다. 각 구성 서버에는 다음과 같은 옵션이 있습니다.
설정설명Hostname
메뉴에서 Cloud Manager 자동화가 복제본 세트 노드를 배포할 호스트를 선택합니다. 메뉴에는 Cloud Manager 자동화 아래에 있는 호스트만 나열됩니다. Cloud Manager 자동화에 서버를 추가하는 방법에 대한 전체 문서는 자동화를 위한 서버 프로비저닝을 참조하세요.
이 호스트 이름은 호스트 이름, FQDN, IPv4 주소 또는 IPv6 주소가 될 수 있습니다.
Port
클러스터에서 각 를 구성합니다.mongos
Member Configuration 섹션에서 Mongos Settings을 클릭하여 mongos
구성 옵션을 엽니다. 각 mongos
프로세스에는 다음과 같은 옵션이 있습니다.
설정 | 설명 |
---|---|
Hostname | 메뉴에서 Cloud Manager 자동화가 이 호스트 이름은 호스트 이름, FQDN, IPv4 주소 또는 IPv6 주소가 될 수 있습니다. |
Port | |
Add a Mongos | 추가 |
클러스터에서 각 복제본 세트를 구성합니다.
Replication Settings 섹션에는 클러스터 의 각 복제본 세트 에 대한 다음 구성 옵션이 포함되어 있습니다.
설정 | 설명 |
---|---|
Protocol Version | 복제본 세트에서 사용하는 복제 프로토콜 버전을 선택합니다. 이 설정은 자세한 내용은 복제본 세트 프로토콜 버전을 참조하세요. |
Chaining Allowed | 세컨더리 노드가 다른 세컨더리 노드로부터 복제할 수 있도록 하려면 |
Write Concern Majority Journal Default | 쓰기 고려가 저널 옵션 |
Heartbeat Timeout (secs) | 복제본 세트 노드가 서로에게 성공적인 하트비트를 기다리는 시간(초)을 지정합니다. 이 설정은 |
Election Timeout (ms) | 복제본 세트의 프라이머리 설정에 연결할 수 없는 경우를 감지하기 위한 시간 제한을 밀리초 단위로 지정합니다. 이 설정은 |
CatchUp Timeout (ms) | 새로 선출된 프라이머리 가 더 최근 쓰기가 있을 수 있는 다른 복제본 세트 노드와 동기화하거나 따라잡는 데 걸리는 시간 제한을 밀리초 단위로 지정합니다. 이 설정은 |
CatchUp Takeover Delay (ms) | 노드가 현재 프라이머리보다 앞서 있다고 판단한 후 캐치업 인계를 시작하기 위해 노드가 기다리는 시간(밀리초)을 지정합니다. 이 설정은 |
Last Error Defaults | 복제본 세트에 대한 기본 쓰기 고려를 지정합니다. 복제본 세트는 쓰기 작업이나 getLastError가 다른 쓰기 고려를 지정하지 않는 경우에만 이 쓰기 고려를 사용합니다. 이 옵션을 설정하지 않으면 복제본 세트에 대한 기본 쓰기 고려는 프라이머리의 확인만 필요합니다. 이 옵션을 문서 형식(예: |
Force Reconfigure | 복제본 세트의 재구성을 강제로 수행하도록 지정합니다. 경고: 복제본 세트 를 강제로 재구성하면 과반수가 커밋된 쓰기가 롤백 될 수 있습니다. 진행 시 유의하세요. 이 작업의 잠재적 영향에 대한 질문이 있는 경우 MongoDB 지원에 문의하세요. 학습 내용은 MongoDB Server 매뉴얼의 사용할 수 없는 멤버가 있는 복제본 세트 재구성 을 참조하세요. |