내장된 구성 서버를 사용하여 복제본 세트를 샤드 클러스터로 변환
MongoDB 8.0 부터는 일반적인 샤딩된 클러스터 메타데이터 외에 애플리케이션 데이터를 저장 하도록 config 서버 를 구성할 수 있습니다. 애플리케이션 데이터를 저장하는 config 서버 를 config 샤드 또는 임베디드 config 서버 라고 합니다.
내장된 config 서버 가 있는 샤딩된 클러스터 로 복제본 세트 를 변환하면 다음을 줄일 수 있습니다.
배포서버 에 필요한 노드 수입니다.
1개의 샤드 클러스터를 유지 관리하기 위한 복잡성.
이 작업에 대하여
복제본 세트 를 구성 샤드 로 직접 변환할 수는 없습니다. 복제본 세트 를 내장된 config 서버 로 변환하려면 다음을 수행해야 합니다.
복제본 세트 를 전용 config 서버가 있는 샤딩된 클러스터 로 변환합니다.
명령을 사용하여 config 샤드 로
transitionFromDedicatedConfigServer
실행 전용 config 서버 를 구성합니다.transitionFromDedicatedConfigServer
명령은 config 서버 를 클러스터 에 샤드 로 추가합니다.
config 샤드 를 추가한 후 클러스터 의 샤드 수를 줄입니다.
액세스 제어
액세스 제어가 활성화된 경우 transitionFromDedicatedConfigServer
명령에는 transitionFromDedicatedConfigServer
클러스터에 대한 권한 부여 조치 이 필요합니다.
clusterManager
역할 에는 transitionFromDedicatedConfigServer
권한 부여 조치 가 있으며 사용자에게 할당할 수 있습니다.
단계
다음 예시 에서는 자체 관리형 복제본 세트 를 복제본 세트 세트의 기존 사용자 데이터가 포함된 구성 샤드 로 변환합니다.
복제본 세트 를 전용 config 서버 가 있는 샤딩된 클러스터 로 변환합니다.
이 튜토리얼에서는 자체 관리형 복제본 세트 를 샤딩된 클러스터 로 변환하는 방법을 알고 있다고 가정합니다. 전체 지침은 자체 관리형 복제본 세트를 샤드 클러스터로 변환하기를 참조하세요.
config 서버 가 이제 config 샤드 인지 확인합니다.
샤드 샤딩된 클러스터 가 config 샤드 를 사용하는지 listShards
확인하려면 에 연결된 상태에서 admin
데이터베이스 에 대해 mongos
명령을 실행 _id
하고 "config"
가 로 설정하다 listShards
문서 의 출력을 검사합니다. 출력에 _id
로 설정하다 문서 가 포함되어 있지 않으면 "config"
클러스터 는 구성 샤드 를 사용하지 않습니다.
다음 예시 에서는 listShards
명령을 실행하고 _id
이 "config"
로 설정하다 문서 를 찾습니다.
db.adminCommand({ listShards: 1 })["shards"].find(element => element._id === "config")
이 예시 에서 반환 문서 에는 _id
이(가) "config"
(으)로 설정하다 되어 있어 이 클러스터 가 구성 샤드 를 사용하고 있음을 확인합니다.
{ _id: "config", host: "configRepl/localhost:27018", state: 1, topologyTime: Timestamp({ t: 1732218671, i: 13 }), replSetConfigVersion: Long('-1') }
참고
밸런서 가 실행 면 샤드 간에 데이터를 자동으로 마이그레이션합니다. 그렇지 않으면 moveCollection
또는 명령을 사용하여 데이터를 수동으로 배포할 수 moveChunk
있습니다.
클러스터 의 샤드 수를 1개로 줄입니다.
구성 샤드를 추가한 후 클러스터 를 단일 샤드 로 줄이려면 명령을 사용하여 샤드 되지 않은 모든 removeShard
moveCollection
컬렉션을 구성 샤드 로 이동하고 명령을 사용하여 클러스터 에서 첫 번째 샤드 를 제거 합니다. 이 단계에서는 클러스터 를 단일 구성 샤드 로 줄입니다.
클러스터에서 샤드를 제거하는 방법에 대한 전체 지침은 샤드 클러스터 에서 샤드 제거를 참조하세요.