简述:副本集合(Replica Sets),是一个基于主/从复制机制的复制功能,但增加了自动故障转移和恢复特性。一个集群最多可以支持7个服务器,并且任意节点都可以是主节点。所有的写操作都被分发到主节点,而读操作可以在任何节点上进行。
环境:CentOS 5.5 x64
md01 10.0.0.11
md02 10.0.0.12
md03 10.0.0.14
把以上主机名对应IP 添加到hosts文件
方法一:设置优先级
启动各节点:
md01
- /elain/apps/mongodb/bin/mongod --rest --replSet elain/md01:27017 --master --fork --port 27017 --dbpath /elain/data/mongodb/db/ --logpath /elain/logs/mongodb/mongodb.log
- md02
- /elain/apps/mongodb/bin/mongod --rest --replSet elain/md02:27017 --fork --port 27017 --dbpath /elain/data/mongodb/db/ --logpath /elain/logs/mongodb/mongodb.log
- md03
- /elain/apps/mongodb/bin/mongod --rest --replSet elain/md03:27017 --fork --port 27017 --dbpath /elain/data/mongodb/db/ --logpath /elain/logs/mongodb/mongodb.log
初始化节点:
md01:(登录其中任何一个节点操作皆可)
- mongo --port 27017
- > rs.initiate({
- _id : "elain",
- members : [
- {_id : 1, host : "md01:27017", priority:2},
- {_id : 2, host : "md02:27017", priority:3},
- {_id : 3, host : "md03:27017", priority:4},
- ]
- });
- /elain/apps/mongodb/bin/mongod --rest --replSet elain/md01:27017 --fork --port 27017 --dbpath /elain/data/mongodb/db/ --logpath /elain/logs/mongodb/mongodb.log
- md02
- /elain/apps/mongodb/bin/mongod --rest --replSet elain/md02:27017 --fork --port 27017 --dbpath /elain/data/mongodb/db/ --logpath /elain/logs/mongodb/mongodb.log
- md03
- /elain/apps/mongodb/bin/mongod --rest --replSet elain/md03:27017 --fork --port 27017 --dbpath /elain/data/mongodb/db/ --logpath /elain/logs/mongodb/mongodb.log
#启动仲裁节点
在md02上
- mkdir /elain/data/mongodb/arb
- /elain/apps/mongodb/bin/mongod --fork --rest --replSet elain --dbpath /elain/data/mongodb/arb --port 27015 --logpath /elain/logs/mongodb/mongodb.log
初始化节点:
md01:(登录其中任何一个节点操作皆可)
- > rs.initiate({
- _id : "elain",
- members : [
- {_id : 1, host : "md01:27017"},
- {_id : 2, host : "md02:27017"},
- {_id : 3, host : "md03:27017"},
- {_id : 4, host : "md02:27015", "arbiterOnly": true},
- ]
- });
- PRIMARY> rs.status()
- >rs.slaveOk();
- >rs.status()
- >user local;
- >rs.isMaster()
- >db.system.replset.find()
- >db.$cmd.findOne({ismaster:1});
转载请注明: 转载自http://www.elain.org
本文链接地址:MongoDB实战系列之四:mongodb副本集部署
本文转自 elain2012 51CTO博客,原文链接:http://blog.51cto.com/elain/764536