replSetInitiate
정의
replSetInitiate
replSetInitiate
명령은 새 복제본 세트를 초기화합니다.팁
mongosh
에서 이 명령은rs.initiate()
헬퍼 메서드를 통해서도 실행할 수 있습니다.헬퍼 메서드는
mongosh
사용자에게 편리하지만 데이터베이스 명령과 동일한 수준의 정보를 반환하지 않을 수 있습니다. 편의가 필요하지 않거나 추가 반환 필드가 필요한 경우 database 명령을 사용합니다.replSetInitiate
를 실행하려면db.runCommand( { <command> } )
메서드를 사용합니다.참고
복제본 세트의
mongod
인스턴스 중 하나에서만 명령을 실행합니다.
구문
명령은 다음과 같은 구문을 가집니다:
db.runCommand( { replSetInitiate : <config_document> } )
<config_document>
는 복제본 세트의 구성을 지정하는 문서 입니다. 예를 들어 다음은 간단한 3멤버 복제본 세트를 만들기 위한 구성 문서입니다.
{ _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
몽고DB 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
설정과 같은 다른 옵션을 구성 문서에서 지정할 수 있습니다.