This page outlines the procedure to synchronize data from a replica set to a sharded cluster using mongosync.
참고
mongosync 는 샤딩된 클러스터 에서 복제본 세트 로의 동기화를 지원 하지 않습니다.
시작하기 전에
학습 보려면 mongosync 설정 지침을 참조하세요.
단계
복제본 세트 와 샤딩된 클러스터 연결
mongosync 데이터 동기화 를 시작하기 전에 소스 복제본 세트 와 대상 샤딩된 클러스터 간에 초기 연결을 생성해야 합니다.
mongosync 를 사용하여 cluster0 를 cluster1 에 연결하려면 다음 명령을 입력합니다.
mongosync \ --cluster0 "<cluster0_connection_string>" \ --cluster1 "<cluster1_connection_string>"
Follow the connection instructions for your cluster architecture to format your connection strings and connect to the mongos instance in your cluster.
동기화 시작
시작 엔드포인트를 호출하여 데이터 동기화를 시작합니다.
복제본 세트 에서 샤딩된 클러스터 로 동기화 하려면 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 개 이상의 비중재자 노드가 있어야 하며 비중재자 노드 에서 동기화 해야 합니다.
For more details, see mongosync Migration Limitations.