replSetInitiate
정의
replSetInitiate
replSetInitiate
명령은 새 복제본 세트를 초기화합니다.팁
mongosh
에서 이 명령은rs.initiate()
헬퍼 메서드를 통해서도 실행 수 있습니다.헬퍼 메서드는
mongosh
사용자에게 편리하지만 데이터베이스 명령과 동일한 수준의 정보를 반환하지 못할 수 있습니다. 편의가 필요하지 않거나 추가 리턴 필드가 필요한 경우 데이터베이스 명령을 사용합니다.replSetInitiate
를 실행하려면db.runCommand( { <command> } )
메서드를 사용합니다.참고
복제본 세트에 대한
mongod
인스턴스 중 하나에서만 명령을 실행하십시오.
호환성
이 명령은 다음 환경에서 호스팅되는 배포에서 사용할 수 있습니다.
MongoDB Atlas: 클라우드에서의 MongoDB 배포를 위한 완전 관리형 서비스
중요
이 명령은 M0, M2, M5 및 M10클러스터 이상에서 지원되지 않습니다. 자세한 내용은 지원되지 않는 명령을 참조하세요.
MongoDB Enterprise: MongoDB의 구독 기반 자체 관리 버전
MongoDB Community: MongoDB의 소스 사용 가능 무료 자체 관리 버전
구문
명령은 다음과 같은 구문을 가집니다:
db.runCommand( { replSetInitiate : <config_document> } )
<config_document>
는 복제본 세트의 구성을 지정하는 문서 입니다. 예를 들어, 다음은 간단한 3노드 복제본 세트를 만들 수 있는 config 문서입니다.
{ _id : <setname>, members : [ {_id : 0, host : <host0>}, {_id : 1, host : <host1>}, {_id : 2, host : <host2>}, ] }
중요
변경된 IP 주소로 인해 구성이 업데이트되는 것을 방지하려면 IP 주소 대신 DNS 호스트 이름을 사용하세요. 특히 복제본 세트 구성원 또는 샤딩된 클러스터 구성원을 구성할 때 IP 주소 대신 DNS 호스트 이름을 사용하는 것이 중요합니다.
IP 주소 대신 호스트 이름을 사용하여 스플릿 네트워크 호라이즌 전반에 걸쳐 클러스터를 구성하세요. MongoDB 5.0부터 IP 주소로만 구성된 노드는 스타트업 유효성 검사에 실패하며 시작되지 않습니다.
IP 바인딩
경고
로컬 호스트가 아닌 에 바인딩하기 전에(예: 공개적으로 액세스할 수 있는) IP 주소 인 경우 무단 액세스 로부터 클러스터 를 보호했는지 확인합니다. 보안 권장 사항의 전체 목록은 자체 관리 배포서버를 위한 보안 체크리스트를 참조하세요. 최소한 인증 을 활성화 하고 네트워크 인프라를 강화하는 것을 고려하세요.
2} 및mongod
MongoDB mongos
바이너리는 기본적으로 로컬 호스트에 바인딩됩니다. 바이너리에 대해 net.ipv6
구성 파일 설정 또는 --ipv6
명령줄 옵션이 설정되어 있으면 바이너리가 로컬 호스트 IPv6 주소에 추가적으로 바인딩됩니다.
기본적으로 로컬 호스트에 바인딩된 mongod
및 mongos
는 동일한 컴퓨터에서 실행 중인 클라이언트의 연결만 허용합니다. 이 바인딩 동작에는 mongosh
및 복제본 집합 또는 샤딩된 클러스터의 다른 멤버가 포함됩니다. 원격 클라이언트는 로컬 호스트에만 바인딩된 바이너리에는 연결할 수 없습니다.
기본 바인딩을 재정의하고 다른 IP 주소에 바인딩하려면 net.bindIp
구성 파일 설정 또는 --bind_ip
명령줄 옵션을 사용하여 호스트 이름 또는 IP 주소 목록을 지정합니다.
경고
MongDB 부터 5.0 시작, 분할 수평 DNS IP 주소로만 구성된 노드는 시작 유효성 검사에 실패하고 오류를 보고합니다. disableSplitHorizonIPCheck
를 참조하세요.
예를 들어 다음 mongod
인스턴스는 로컬 호스트와 IP 주소 198.51.100.1
와 연결된 호스트명 My-Example-Associated-Hostname
에 모두 바인딩됩니다.
mongod --bind_ip localhost,My-Example-Associated-Hostname
이 인스턴스에 연결하려면 원격 클라이언트가 호스트 이름 또는 관련 IP 주소 198.51.100.1
를 지정해야 합니다.
mongosh --host My-Example-Associated-Hostname mongosh --host 198.51.100.1
예시
구성 문서를 변수에 할당한 다음 문서를 rs.initiate()
도우미에 전달합니다.
config = { _id : "my_replica_set", members : [ {_id : 0, host : "rs1.example.net:27017"}, {_id : 1, host : "rs2.example.net:27017"}, {_id : 2, host : "rs3.example.net", arbiterOnly: true}, ] } rs.initiate(config)
중요
변경된 IP 주소로 인해 구성이 업데이트되는 것을 방지하려면 IP 주소 대신 DNS 호스트 이름을 사용하세요. 특히 복제본 세트 구성원 또는 샤딩된 클러스터 구성원을 구성할 때 IP 주소 대신 DNS 호스트 이름을 사용하는 것이 중요합니다.
IP 주소 대신 호스트 이름을 사용하여 스플릿 네트워크 호라이즌 전반에 걸쳐 클러스터를 구성하세요. MongoDB 5.0부터 IP 주소로만 구성된 노드는 스타트업 유효성 검사에 실패하며 시작되지 않습니다.
포트를 생략하면 호스트가 기본 포트 27017을 사용합니다. 또한 이 예에서는 arbiterOnly
설정과 같은 다른 옵션을 구성 문서에서 지정할 수 있습니다.