복제본 세트를 샤드 클러스터에 동기화하기
이 페이지에서는 mongosync
를 사용하여 복제본 세트 의 데이터를 샤딩된 클러스터 로 동기화하는 절차를 간략하게 설명합니다.
참고
mongosync
는 샤딩된 클러스터 에서 복제본 세트 로의 동기화를 지원 하지 않습니다.
시작하기 전에
학습 보려면 mongosync 설정 지침을 참조하세요.
단계
복제본 세트 와 샤딩된 클러스터 연결
mongosync
데이터 동기화 를 시작하기 전에 소스 복제본 세트 와 대상 샤딩된 클러스터 간에 초기 연결을 생성해야 합니다.
mongosync
를 사용하여 cluster0
를 cluster1
에 연결하려면 다음 명령을 입력합니다.
mongosync \ --cluster0 "<cluster0_connection_string>" \ --cluster1 "<cluster1_connection_string>"
클러스터 아키텍처에 대한 연결 지침 에 따라 연결 문자열의 형식을 지정하고 클러스터 의 mongos
인스턴스 에 연결합니다.
동기화 시작
시작 엔드포인트를 호출하여 데이터 동기화를 시작합니다.
복제본 세트 에서 샤딩된 클러스터 로 동기화 하려면 start
명령 에 sharding
옵션 을 설정하다 하여 대상 클러스터 에서 컬렉션 을 샤드 합니다 . 자세한 내용은 샤딩 매개변수를 참조하세요.
sharding.shardingEntries
매개변수를 사용하여 샤드 할 컬렉션을 지정합니다. 이 배열 에 나열하지 않은 컬렉션은 비샤드 컬렉션으로 복제됩니다. 자세한 내용은 샤드 복제본 세트 및 샤드 키 선택을 참조하세요.
다음 예시 에서는 복제본 세트 에서 샤딩된 클러스터 로의 동기화 를 시작합니다.
요청
curl localhost:27182/api/v1/start -XPOST \ --data ' { "source": "cluster0", "destination": "cluster1", "sharding": { "createSupportingIndexes": true, "shardingEntries": [ { "database": "accounts", "collection": "us_east", "shardCollection": { "key": [ { "location": 1 }, { "region": 1 }, ] } } ] } } '
응답
{"success":true}
다음 단계
mongosync
전환 프로세스를 사용하여 마이그레이션 을 완료하고 애플리케이션 워크로드 를 소스에서 대상 클러스터 로 전송할 수 있습니다.
제한 사항
복제본 세트 와 샤딩된 클러스터 간에는 역방향 엔드포인트를 사용할 수 없습니다.
mongosync
사용자가 동기화 중에sharding.shardingEntries
옵션에 포함된 컬렉션의 이름을 바꿀 수 있도록 허용하지만 몇 가지 제한 사항이 있습니다. 자세한 내용은 동기화 중 이름 변경을 참조하세요.sharding.createSupportingIndexes
옵션을 사용하면 동기화 중에 대상 클러스터 에 인덱스가 자동으로 생성됩니다. 이후에는 소스 클러스터 에서 이러한 인덱스를 생성할 수 없습니다.샤드 키를 지원 하는 인덱스 를 수동으로 생성하려면
mongosync
가 시작되기 전 또는 마이그레이션 이 완료되고mongosync
가 중지된 후에 인덱스 를 생성해야 합니다.
소스 복제본 세트 에 중재자 가 있는 경우 소스 복제본 세트 에 2 개 이상의 비중재자 노드가 있어야 하며 비중재자 노드 에서 동기화 해야 합니다.
자세한 내용은 제한 사항을 참조하세요.