MongoDB 설치 (CentOS 기준)  에서 간단하게 MongoDB를 설치했었다.


이번에는 두대의 서버에 MongoDB를 설치하고, Master / Slave 로 구성해보자


Master는 쓰기 전용, Slave는 읽기 전용으로 쓸 계획이다.


192.168.0.204와 192.168.0.205에 동일하게 MongoDB를 설치했다는 상황에서..

204번을 Master로, 205를 Slave로 설정하자. 


개발할때 Master는 쓰기용, Slave는 읽기용으로 활용하도록!!!


 

mongodb.conf 를 열어서 replSet=abcd 을 설정해준다. 

abcd은 Replica Set의 그룹명이라고 보면 된다. 아무거나 의미있게 만들어쓰자. 

# vi mongodb.conf

dbpath=/data/mongodb

logpath=/log/mongodb/mongodb.log

logappend=true

verbose=true

#bind_ip=127.0.0.1

port=27017

fork=true

# rest 옵션은 브라우저에서 접속할건지 여부, 브라우저포트는 port로 잡은 거에 +1000 한 값 (28017)

rest=true

#auth=true

#noauth=true

# Replica Set 설정

replSet=abcd


모든 몽고디비를 실행해준다. 

# mongod --config /usr/local/mongodb/mongodb.conf


Master로 사용할 몽고디비 클라이언트 접속 (204번)

아래 부분은 Master에만 하면 된다.

# mongo localhost:27017

MongoDB shell version: 2.2.1

connecting to: localhost:27017/test

> config = {_id: 'abcd', members: [

... {_id: 0, host: '192.168.0.204:27017'},

... {_id: 1, host: '192.168.0.205:27017'}]

... }

엔터를 치면

{

"_id" : "abcd",

"members" : [

{

"_id" : 0,

"host" : "192.168.0.204:27017"

},

{

"_id" : 1,

"host" : "192.168.0.205:27017"

}

]

}

> rs.initiate(config);

엔터를 치면

{

"info" : "Config now saved locally.  Should come online in about a minute.",

"ok" : 1

}

tone:STARTUP2>


성공적으로 저장이 되었다. 시간이 몇분 정도 걸린다고 하니. 기다렸다 확인해보자.


Master에 접속해보자.

# mongo 192.168.0.204:27017

MongoDB shell version: 2.2.1

connecting to: 192.168.0.204:27017/test

tone:PRIMARY>


Slave에 접속해보자.

# mongo 192.168.0.205:27017

MongoDB shell version: 2.2.1

connecting to: 192.168.0.205:27017/test

tone:SECONDARY> rs.status()

{

"set" : "abcd",

"date" : ISODate("2012-11-28T09:24:51Z"),

"myState" : 2,

"syncingTo" : "192.168.0.204:27017",

"members" : [

{

"_id" : 0,

"name" : "192.168.0.204:27017",

"health" : 1,

"state" : 1,

"stateStr" : "PRIMARY",

"uptime" : 337,

"optime" : Timestamp(1354093387000, 1),

"optimeDate" : ISODate("2012-11-28T09:03:07Z"),

"lastHeartbeat" : ISODate("2012-11-28T09:24:50Z"),

"pingMs" : 0

},

{

"_id" : 1,

"name" : "192.168.0.205:27017",

"health" : 1,

"state" : 2,

"stateStr" : "SECONDARY",

"uptime" : 337,

"optime" : Timestamp(1354093387000, 1),

"optimeDate" : ISODate("2012-11-28T09:03:07Z"),

"self" : true

}

],

"ok" : 1

}


 

# cd /usr/local/src

# wget http://fastdl.mongodb.org/linux/mongodb-linux-i686-2.2.1.tgz

# tar zxvf mongodb-linux-i686-2.2.1.tgz 

# cp -Rf mongodb-linux-i686-2.2.1/ /usr/local/mongodb 

# cd ../mongodb

# ll

total 72

-rw------- 1 root root 34520 11?? 17 21:00 GNU-AGPL-3.0

-rw------- 1 root root  1359 11?? 17 21:00 README

-rw------- 1 root root 11527 11?? 17 21:00 THIRD-PARTY-NOTICES

drwxr-xr-x 2 root root  4096 11?? 17 21:00 bin

# mkdir -p /data/mongodb

# mkdir -p /log/mongodb

# vi mongodb.conf

dbpath=/data/mongodb

logpath=/log/mongodb/mongodb.log

logappend=true

verbose=true

#bind_ip=127.0.0.1

port=27017

fork=true

# rest 옵션은 브라우저에서 접속할건지 여부, 브라우저포트는 port로 잡은 거에 +1000 한 값 (28017)

rest=true

#auth=true

#noauth=true


MONGODB_HOME 설정

# vi /etc/profile

MONGODB_HOME=/usr/local/mongodb

export MONGODB

PATH=$PATH:$MONGODB_HOME/bin

export PATH

# source /etc/profile


몽고디비 실행

# mongod --config /usr/local/mongodb/mongodb.conf


몽고디비 클라이언트 접속

# mongo localhost:27017

MongoDB shell version: 2.2.1

connecting to: localhost:27017/test

Welcome to the MongoDB shell.

For interactive help, type "help".

For more comprehensive documentation, see

http://docs.mongodb.org/

Questions? Try the support group

http://groups.google.com/group/mongodb-user

>


브라우저에서 확인하기

http://192.168.0.205:28017/



+ Recent posts