mongodb에서 cluster를 만들려면 rs.initiate() 함수를 쓰라고 한다. 막상 mongo 커맨드를 실행하면 다음과 같이 설정이 있어야 하는지 알려준다.  


> rs.initiate()
{
    "info2" : "no configuration explicitly specified -- making one",
    "me" : "alpha.google.com:27017",
    "ok" : 1



아래 url을  참조해서 클러스터를 만든다.

https://docs.mongodb.org/master/tutorial/reconfigure-replica-set-with-unavailable-members/


아래와 같이 config 설정을 생성한 후, 초기화한다. 


> config = {
    _id : "replset",
     members : [
         {_id : 0, host : "1.1.1.1:27017"},
         {_id : 1, host : "1.1.1.2:27017"},
         {_id : 2, host : "1.1.1.3:27017"},
     ]
}

> rs.initiate(config)



만약 수정할 일이 있으면, 다음과 같이 진행한다.


> cfg = {
    _id : "replset",
     members : [
         {_id : 0, host : "1.1.1.1:27017"},
         {_id : 1, host : "1.1.1.2:27017"},
         {_id : 2, host : "1.1.1.4:27017"},
     ]
}


> rs.reconfig(cfg, {force : true})





정상적으로 레플리카 설정이 되었는지 확인하려면,  rs.conf() 또는 rs.status()를 통해 확인한다.



> rs.conf()
{
    "_id" : "replset",
    "version" : 89449,
    "members" : [
        {
            "_id" : 0,
            "host" : "1.1.1.1:27017",
            "arbiterOnly" : false,
            "buildIndexes" : true,
            "hidden" : false,
            "priority" : 1,
            "tags" : {

            },
            "slaveDelay" : 0,
            "votes" : 1
        },
        {
            "_id" : 1,
            "host" : "1.1.1.2:27017",
            "arbiterOnly" : false,
            "buildIndexes" : true,
            "hidden" : false,
            "priority" : 1,
            "tags" : {

            },
            "slaveDelay" : 0,
            "votes" : 1
        },
        {
            "_id" : 2,
            "host" : "1.1.1.3:27017",
            "arbiterOnly" : false,
            "buildIndexes" : true,
            "hidden" : false,
            "priority" : 1,
            "tags" : {

            },
            "slaveDelay" : 0,
            "votes" : 1
        }

    ],

..





> rs.status()
{
    "set" : "replset",
    "date" : ISODate("2015-09-22T07:16:41.678Z"),
    "myState" : 1,
    "members" : [
        {
            "_id" : 0,
            "name" : "1.1.1.1:27017",
            "health" : 1,
            "state" : 1,
            "stateStr" : "PRIMARY",
            "uptime" : 1961,
            "optime" : Timestamp(1442904540, 1),
            "optimeDate" : ISODate("2015-09-22T06:49:00Z"),
            "electionTime" : Timestamp(1442904540, 2),
            "electionDate" : ISODate("2015-09-22T06:49:00Z"),
            "configVersion" : 89449,
            "self" : true
        },
        {
            "_id" : 1,
            "name" : "1.1.1.2:27017",
            "health" : 1,
            "state" : 2,
            "stateStr" : "SECONDARY",
            "uptime" : 1338,
            "optime" : Timestamp(1442904540, 1),
            "optimeDate" : ISODate("2015-09-22T06:49:00Z"),
            "lastHeartbeat" : ISODate("2015-09-22T07:16:39.850Z"),
            "lastHeartbeatRecv" : ISODate("2015-09-22T07:16:39.849Z"),
            "pingMs" : 0,
            "configVersion" : 89449
        },
        {
            "_id" : 2,
            "name" : "1.1.1.3:27017",
            "health" : 1,
            "state" : 2,
            "stateStr" : "SECONDARY",
            "uptime" : 1338,
            "optime" : Timestamp(1442904540, 1),
            "optimeDate" : ISODate("2015-09-22T06:49:00Z"),
            "lastHeartbeat" : ISODate("2015-09-22T07:16:39.850Z"),
            "lastHeartbeatRecv" : ISODate("2015-09-22T07:16:39.852Z"),
            "pingMs" : 0,
            "configVersion" : 89449
        }
    ],
    "ok" : 1

}



'mongodb' 카테고리의 다른 글

[mongodb] 레플리카 구성 요소  (0) 2015.11.02
[mongodb] master 노드 변경하기  (0) 2015.10.30
[mongodb] explain  (0) 2015.10.12
[mongodb] collection 개수 구하기  (0) 2015.10.12
[mongodb] 모니터링하기  (0) 2015.10.12
Posted by '김용환'
,