MongoDB
복제 세트로 몽고
수색…
복제 세트로 Mongodb
mongodb를 3 개의 인스턴스가있는 복제 세트로 만들 것입니다. 한 인스턴스는 기본 인스턴스이고 다른 인스턴스는 보조 인스턴스입니다.
간단히하기 위해 mongodb가 3 개의 인스턴스로 구성된 복제본 세트를 동일한 서버에서 실행하기 때문에 모든 3 개의 mongodb 인스턴스가 다른 포트 번호로 실행됩니다.
단일 서버에서 실행되는 전용 mongodb 인스턴스가있는 프로덕션 환경에서 동일한 포트 번호를 재사용 할 수 있습니다.
- 데이터 디렉토리 생성 (mongodb 데이터가 파일에 저장되는 경로)
- mkdir c:\data\server1 (datafile path for instance 1)
- mkdir c:\data\server2 (datafile path for instance 2)
- mkdir c:\data\server3 (datafile path for instance 3)
- 에이. 첫 번째 mongod 인스턴스 시작
- 명령 프롬프트를 열고 다음 Enter 키를 누릅니다.
mongod --replSet s0 --dbpath c:\data\server1 --port 37017 --smallfiles --oplogSize 100
위의 명령은 mongodb의 인스턴스를 replicaSet 이름 "s0"에 연결하고 oplogSize 100MB를 사용하여 포트 37017에서 mongodb의 첫 번째 인스턴스를 시작합니다
- 비. 마찬가지로 Mongodb의 두 번째 인스턴스를 시작합니다.
mongod --replSet s0 --dbpath c:\data\server2 --port 37018 --smallfiles --oplogSize 100
위의 명령은 mongodb의 인스턴스를 replicaSet 이름 "s0"에 연결하고 oplogSize를 사용하여 포트 37018에서 mongodb의 첫 번째 인스턴스를 시작합니다. 100MB
- 기음. 이제 Mongodb의 세 번째 인스턴스를 시작하십시오.
mongod --replSet s0 --dbpath c:\data\server3 --port 37019 --smallfiles --oplogSize 100
위의 명령은 mongodb의 인스턴스를 replicaSet 이름 "s0"에 연결하고 oplogSize 100MB를 사용하여 포트 37019에서 mongodb의 첫 번째 인스턴스를 시작합니다
3 개의 인스턴스가 모두 시작되면 현재이 인스턴스는 서로 독립적입니다. 이제 이러한 인스턴스를 복제 세트로 그룹화해야합니다. 우리는 config 객체의 도움으로이 작업을 수행합니다.
3.a mongo 쉘을 통해 mongod 서버 중 하나에 연결하십시오. 이렇게하려면 명령 프롬프트를 열고 입력하십시오.
mongo --port 37017
mongo 쉘에 연결되면 config 객체를 만듭니다.
var config = {"_id":"s0", members[]};
이 구성 객체에는 2 가지 속성이 있습니다.
- _id : 복제 세트 이름 ( "s0")
- members : [] (멤버는 mongod 인스턴스의 배열입니다.이 부분을 비워두면 push 명령을 통해 멤버를 추가합니다.
3.b mongod 인스턴스를 config 객체의 members 배열에 push (추가). 몽고 셸 유형
config.members.push({"_id":0,"host":"localhost:37017"});
config.members.push({"_id":1,"host":"localhost:37018"});
config.members.push({"_id":2,"host":"localhost:37019"});
각 mongod 인스턴스에 _id와 호스트를 할당합니다. _id는 임의의 고유 한 숫자가 될 수 있으며 호스트는 포트 번호가 뒤에 오는 서버의 호스트 이름이어야합니다.
- mongo 쉘에서 다음 명령으로 config 객체를 시작하십시오.
rs.initiate(config)
- 몇 초 만에 서버에서 실행되는 3 개의 mongod 인스턴스 복제 세트가 있습니다. 다음 명령을 입력하여 복제본 세트의 상태를 확인하고 어떤 복제본이 기본 복제본인지 그리고 어떤 복제본이 보조 복제본인지 식별하십시오.
rs.status();