mongoDB 던 전 집합 설정
https://github.com/christkv/node-mongodb-native/blob/master/docs/replicaset.md
던 전 집합 을 만 드 는 데 필요 한 절차:
각 노드 를 시작 해 야 합 니 다 그리고 초기 화 설정 을 진행 합 니 다.
여기 서 먼저 한 그룹 (세 노드) 을 설정 합 니 다. 이것 은 표준 설정 입 니 다.몬 god 노드 가 시작 되면 설정 을 정확하게 초기 화하 기 위해 명령 을 내 립 니 다.몇 초 후에 선 거 를 주 노드 로 만 들 면 쓰기 와 조회 집 을 시작 할 수 있다.
시작 노드
우선, 각 노드 의 데이터 디 렉 터 리 를 만 듭 니 다.
# sudo mkdir -p /data/db/data/20 # sudo mkdir -p /data/db/data/21 # sudo mkdir -p /data/db/data/22
다음은 "sudo mongod -- replset" 을 사용 하여 모든 mongod 프로 세 스 를 시작 합 니 다. "– replset" 인 자 는 복사 본 집합 논리 이름 을 지정 해 야 합 니 다. 여 기 는 "blort" 를 첫 번 째 노드 의 이름 으로 사용 합 니 다.
첫 번 째 노드 를 시작 합 니 다. 포트 27020.
sudo mongod --port 27020 --replSetblort/localhost:27021 --dbpath/data/db/data/20/
/ / 메모: localhost 는 호스트 이름 입 니 다.
두 번 째 노드 를 시작 합 니 다. 포트 27021.
sudo mongod --port 27021 --replSetblort/localhost:27020 --dbpath/data/db/data/21/
마지막 으로 세 번 째 노드, 포트 27022 를 시작 합 니 다.
sudo mongod --port 27022 --replSetblort/localhost:27020 --dbpath/data/db/data/22/
현재 세 개의 노드 가 실행 중 입 니 다. 모든 노드 는 다음 과 같은 경 고 를 표시 해 야 합 니 다.
Mon Aug 2 11: 30: 19 [startReplSets] replset can 't getlocal. system. replset config from self or any seed (EMPTY CONFIG) 는 이 노드 를 초기 화하 기 전에 이 복사 본 집합 을 사용 할 수 없습니다.
노드 초기 화:
그 중 한 노드 에 연결 하고 replSetInitiate 명령 을 사용 하여 초기 화 합 니 다.이 명령 은 설정 대상 (configurationobject) 이 필요 합 니 다. 설정 한 모든 구성원 의 이름 을 지정 합 니 다.
# mongo localhost:27020
MongoDB shell version: 2.0.4
connecting to: localhost:27020/test
> config = {_id: 'blort', members: [
{_id: 0, host: 'localhost:27020'},
{_id: 1, host: 'localhost:27021'},
{_id: 2, host: 'localhost:27022'}]
}
> rs.initiate(config);
{
"info" : "Config now saved locally. Should come online in about a minute.",
"ok" : 1
}
지정 한 설정 대상 을 rs. initiate () 에 전달 합 니 다.그리고 모든 것 이 정상 이면 응답 을 받 습 니 다. 던 전 집 은 1 분 안에 온라인 입 니 다.이 기간 에 그 중의 한 노드 는 주요 노드 로 당 선 될 것 이다.
rs. status 를 실행 하여 노드 상 태 를 검사 합 니 다:
> rs.status() { "set" : "blort", "date" : ISODate("2012-09-24T07:11:08Z"), "myState" : 2, "syncingTo" : "localhost:27020", "members" : [ { "_id" : 0, "name" : "localhost:27020", "health" : 1, "state" : 1, "stateStr" : "PRIMARY", "uptime" : 5384, "optime" : { "t" : 1348470385000, "i" : 2 }, "optimeDate" : ISODate("2012-09-24T07:06:25Z"), "lastHeartbeat" : ISODate("2012-09-24T07:11:08Z"), "pingMs" : 0 }, { "_id" : 1, "name" : "localhost:27021", "health" : 1, "state" : 2, "stateStr" : "SECONDARY", "optime" : { "t" : 1348470385000, "i" : 2 }, "optimeDate" : ISODate("2012-09-24T07:06:25Z"), "self" : true }, { "_id" : 2, "name" : "localhost:27022", "health" : 1, "state" : 2, "stateStr" : "SECONDARY", "uptime" : 5384, "optime" : { "t" : 1348470385000, "i" : 2 }, "optimeDate" : ISODate("2012-09-24T07:06:25Z"), "lastHeartbeat" : ISODate("2012-09-24T07:11:06Z"), "pingMs" : 0 } ], "ok" : 1 }
state 값 은 1 입 니 다. 이것 은 메 인 노드 에 연결 되 었 음 을 나타 내 고 값 은 2 로 보조 노드 를 표시 합 니 다.
참고:http://snoopyxdy.blog.163.com/blog/static/60117440201241694254441/
http://docs.mongodb.org/manual/reference/replica-configuration/
http://docs.mongodb.org/manual/tutorial/deploy-replica-set/
마스터 노드 를 설정 하 는 방법:
(-- dbpath 는 데이터 디 렉 터 리, -- source 노드 에서 주 노드 의 주 소 를 가리 키 기 위해 같은 기계 에서 같은 디 렉 터 리 와 포트 를 선택 할 수 없다 면)
/ / 시작 메 인 노드
sudo mongod --dbpath /data/db/data/master --port 30000 --master
/ / 시작 노드 에서
sudo mongod --dbpath /data/db/data/slave --port 30001 --slave--source 192.168.1.102:30000
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.