문서 메뉴

문서 홈애플리케이션 개발MongoDB 매뉴얼

독립형 mongod를 복제본 세트로 변환

독립형 mongod 인스턴스는 테스트 및 개발에 유용합니다. 독립형 인스턴스는 단일 실패 지점이 될 수 있으므로 프로덕션 배포에는 적합하지 않습니다. 클러스터라고도 하는 복제본 세트는 중복성과 가용성을 제공합니다. 항상 프로덕션 환경에서 복제본 세트를 사용하세요.

프로덕션에서 사용하려는 데이터 포함 독립형 서버가 있는 경우, 먼저 독립형 서버를 복제본 세트로 변환합니다.

중요

프로덕션에서 사용하기 위해 개발 서버를 복제본 세트로 변환하는 경우, 클러스터를 인터넷에 노출하기 전에 보안 체크리스트를 참조하세요.

독립형 인스턴스를 변환하기 전에 복제본 세트샤드 클러스터 중 어느 것이 워크로드에 더 적합한지 고려하세요.

샤드 클러스터는 특별한 종류의 클러스터입니다. 샤드 클러스터는 중복성과 가용성을 제공하며, 샤드 간에 데이터를 분산시킵니다. 샤드는 일반적으로 여러 서버에서 호스팅되며 수평 확장이 가능합니다.

1

mongosh사용 하여 mongod 인스턴스에 연결합니다.

mongosh

admin 데이터베이스로 전환하고 shutdown을 실행합니다.

use admin
db.adminCommand(
{
shutdown: 1,
comment: "Convert to cluster"
}
)
2

명령줄에서 mongod 인스턴스를 구성하는 경우, --replSet 옵션을 사용하여 복제본 세트의 이름을 설정합니다.

일반적인 명령줄 호출에는 다음이 포함될 수 있습니다.

목적
옵션
cluster 이름
네트워크 세부 정보
데이터 경로
인증 세부 정보

배포서버 설정을 통해 예제 코드를 업데이트합니다.

mongod --replSet rs0 \
--port 27017 \
--dbpath /path/to/your/mongodb/dataDirectory \
--authenticationDatabase "admin" \
--username "adminUserName" \
--password

구성 파일을 사용하여 mongodb를 시작하는 경우, 구성 파일에 replication 섹션을 추가하세요. replSetName 값을 편집하여 복제본 세트의 이름을 설정합니다.

replication:
replSetName: rs0

참고

옵션

mongod.conf 구성 파일에 데이터 디렉토리, 복제본 세트 이름 및 IP 바인딩을 지정하고 다음 명령으로 mongod를 시작할 수 있습니다.

mongod --config /etc/mongod.conf
3

복제본 세트를 초기화하려면 mongosh를 사용하여 서버 인스턴스에 다시 연결합니다. 그런 다음 rs.initiate()를 실행합니다.

rs.initiate()

복제본 세트는 한 번만 시작하면 됩니다.

복제본 세트 구성을 보려면 rs.conf()를 사용합니다.

복제본 세트의 상태를 확인하려면 rs.status()를 사용합니다.

4

새 복제본 세트에는 단일 프라이머리 노드가 있습니다. 다음 단계는 복제본 세트에 새 노드를 추가하는 것입니다. 노드를 추가하기 전에 클러스터에 대한 설명서를 검토하세요.

노드를 추가할 준비가 되면 rs.add()를 사용합니다.

5

mongod를 복제본 세트로 변환한 후에는 애플리케이션에서 사용하는 연결 문자열을 복제본 세트의 연결 문자열로 업데이트합니다. 그런 다음 애플리케이션을 다시 시작합니다.

← 복제본 세트에 중재자 추가