mongodb - Replication Set搭建过程
2016-03-15 13:51 abce 阅读(818) 评论(0) 编辑 收藏 举报1.创建目录
mkdir -p /mongodb/data/r1 mkdir -p /mongodb/data/r2 mkdir -p /mongodb/data/r3 mkdir -p /mongodb/mlog
2.启动三个实例,并声明实例属于复制集
./mongod --dbpath /mongodb/data/r1 --logpath /mongodb/mlog/r1.log --fork --port 27017 --replSet ybb --smallfiles ./mongod --dbpath /mongodb/data/r2 --logpath /mongodb/mlog/r2.log --fork --port 27018 --replSet ybb --smallfiles ./mongod --dbpath /mongodb/data/r3 --logpath /mongodb/mlog/r3.log --fork --port 27019 --replSet ybb --smallfiles
3.复制集初始化
这一步初始化的复制集只是包含当前节点
# ./mongo --port=27017 > rs.initiate() { "info2" : "no configuration specified. Using a default configuration for the set", "me" : "cc.example.com:27017", "ok" : 1 }
4.验证复制集初始化配置
这一步初始化的复制集只是包含当前节点
ybb:OTHER> rs.conf() { "_id" : "ybb", "version" : 1, "protocolVersion" : NumberLong(1), "members" : [ { "_id" : 0, "host" : "cc.example.com:27017", "arbiterOnly" : false, "buildIndexes" : true, "hidden" : false, "priority" : 1, "tags" : { }, "slaveDelay" : NumberLong(0), "votes" : 1 } ], "settings" : { "chainingAllowed" : true, "heartbeatIntervalMillis" : 2000, "heartbeatTimeoutSecs" : 10, "electionTimeoutMillis" : 10000, "getLastErrorModes" : { }, "getLastErrorDefaults" : { "w" : 1, "wtimeout" : 0 } } } ybb:PRIMARY>
5.添加其它节点
ybb:PRIMARY> rs.add("cc.example.com:27018")rs.add("cc.example.com:27018") { "ok" : 1 } ybb:PRIMARY> rs.add("cc.example.com:27019")rs.add("cc.example.com:27019") { "ok" : 1 } ybb:PRIMARY>
6.检查复制集的状态
ybb:PRIMARY> rs.status()rs.status() { "set" : "ybb", "date" : ISODate("2016-03-15T05:26:06.682Z"), "myState" : 1, "term" : NumberLong(1), "heartbeatIntervalMillis" : NumberLong(2000), "members" : [ { "_id" : 0, "name" : "cc.example.com:27017", "health" : 1, "state" : 1, "stateStr" : "PRIMARY", "uptime" : 482, "optime" : { "ts" : Timestamp(1458019522, 1), "t" : NumberLong(1) }, "optimeDate" : ISODate("2016-03-15T05:25:22Z"), "electionTime" : Timestamp(1458019202, 2), "electionDate" : ISODate("2016-03-15T05:20:02Z"), "configVersion" : 3, "self" : true }, { "_id" : 1, "name" : "cc.example.com:27018", "health" : 1, "state" : 2, "stateStr" : "SECONDARY", "uptime" : 47, "optime" : { "ts" : Timestamp(1458019522, 1), "t" : NumberLong(1) }, "optimeDate" : ISODate("2016-03-15T05:25:22Z"), "lastHeartbeat" : ISODate("2016-03-15T05:26:04.822Z"), "lastHeartbeatRecv" : ISODate("2016-03-15T05:26:05.826Z"), "pingMs" : NumberLong(0), "syncingTo" : "cc.example.com:27017", "configVersion" : 3 }, { "_id" : 2, "name" : "cc.example.com:27019", "health" : 1, "state" : 2, "stateStr" : "SECONDARY", "uptime" : 43, "optime" : { "ts" : Timestamp(1458019522, 1), "t" : NumberLong(1) }, "optimeDate" : ISODate("2016-03-15T05:25:22Z"), "lastHeartbeat" : ISODate("2016-03-15T05:26:04.822Z"), "lastHeartbeatRecv" : ISODate("2016-03-15T05:26:04.821Z"), "pingMs" : NumberLong(0), "configVersion" : 3 } ], "ok" : 1 } ybb:PRIMARY>
7.查看复制集的最新配置
ybb:PRIMARY> rs.config();rs.config(); { "_id" : "ybb", "version" : 3, "protocolVersion" : NumberLong(1), "members" : [ { "_id" : 0, "host" : "cc.example.com:27017", "arbiterOnly" : false, "buildIndexes" : true, "hidden" : false, "priority" : 1, "tags" : { }, "slaveDelay" : NumberLong(0), "votes" : 1 }, { "_id" : 1, "host" : "cc.example.com:27018", "arbiterOnly" : false, "buildIndexes" : true, "hidden" : false, "priority" : 1, "tags" : { }, "slaveDelay" : NumberLong(0), "votes" : 1 }, { "_id" : 2, "host" : "cc.example.com:27019", "arbiterOnly" : false, "buildIndexes" : true, "hidden" : false, "priority" : 1, "tags" : { }, "slaveDelay" : NumberLong(0), "votes" : 1 } ], "settings" : { "chainingAllowed" : true, "heartbeatIntervalMillis" : 2000, "heartbeatTimeoutSecs" : 10, "electionTimeoutMillis" : 10000, "getLastErrorModes" : { }, "getLastErrorDefaults" : { "w" : 1, "wtimeout" : 0 } } } ybb:PRIMARY>