각 서버에 데몬을 설치후 Replica 서버를 설정 합니다. (Primary , Secondary, Arbiter)
Primary Host : mongo1
Secondary Host : mongo2
Arbiter Host : mongo3
# Where and how to store data.
storage:
# dbPath: /var/lib/mongodb
dbPath: /home/mongodb/data
journal:
enabled: true
# engine:
# mmapv1:
# wiredTiger:
# where to write logging data.
systemLog:
destination: file
logAppend: true
path: /home/mongodb/mongod.log
# network interfaces
net:
port: 25249
bindIp: mongo1
processManagement:
fork : true
pidFilePath : /home/mongodb/config.pid
#security:
# keyFile: /home/mongodb/mongodb.key
# clusterAuthMode: "keyFile"
#operationProfiling:
replication:
replSetName: "rs"
- port , bindIp는 각 서버의 host를 설정합니다.
- repication 항목은 같은 name을 사용합니다.
서버에 접속
./mongo -host mongo1 -port 25249
replica set 설정
rs.initiate({ _id : "rs", members: [ { _id: 0, host: "mongo1:25249" }, { _id: 1, host: "mongo2:25249" } ] } )
#확인
rs.status()
수행결과 메세지 "ok" 이후 각 Primary , Secondary에 접속하여 커맨드를 엔터쳐가며 prompt에 Primary 또는 Secondary 뜨는지 확인 한다..
"mongo1:PRIMARY > " 혹은 "mongo2:SECONDARY> "
Primary 및 Secondary 상태를 확인 후 아래와 같이 Arbiter를 추가합니다.(2가지 방법 모두 같은 동작이므로 이 중에 하나만 수행하면 된다)
Arbiter 추가
rs.addArb("192.10.10.13:27019") 혹은 rs.add( { host: "192.10.10.13:27019", arbiterOnly: true } )
구성이 잘되었는지 확인한다.
PRIMARY> rs.status()
테스트
PRIMARY> use test
PRIMARY> db.testcollections.insertOne({x:1})
SECONDARY> rs.slaveOk()
SECONDARY> use test
SECONDARY> db.testcollections.find({})
데이터가 제대로 복제되었는지 확인한다.
'Server' 카테고리의 다른 글
몽고디비 2) Security Authentication 설정 (with Replica Set) (0) | 2019.04.12 |
---|---|
Redis Replication - Master Slave Sentinel (0) | 2019.03.20 |
Redis 5.0.4 Install (0) | 2019.03.20 |
댓글