MongoDB架构篇-Replica Set 副本集

来源:互联网 发布:邪恶镰刀 数据 编辑:程序博客网 时间:2024/05/22 08:30

Replica Sets复制(副本集):

 

几个复制品选举成主数据库

 

replicaset  数据复制, 副本集

 流程原理:


 











 

文件夹replication下

 

 

mongod--replSet rs1(小组1)--keyFile=e:/key1(密钥) --port 20001--dbpath=F:\DingSai\Mongodb\replication\rs1\data --logpath=F:\DingSai\Mongodb\replication\rs1\logs\mongodb.log

 

 

开rs1

mongod--replSet rs1  --port 20001--dbpath=F:\DingSai\Mongodb\replication\rs1\data --logpath=F:\DingSai\Mongodb\replication\rs1\logs\mongodb.log

 

 

开rs2

mongod--replSetrs1  --port 20002--dbpath=F:\DingSai\Mongodb\replication\rs2\data --logpath=F:\DingSai\Mongodb\replication\rs2\logs\mongodb.log

 

 

 

开rs3

mongod--replSetrs1  --port 20003--dbpath=F:\DingSai\Mongodb\replication\rs3\data --logpath=F:\DingSai\Mongodb\replication\rs3\logs\mongodb.log

 

 

 

 

 

 

登录rs1  mongo localhost:20001

 

 

 

 

 

 

--编写配置清单

config_rs1={_id:"rs1",members:[{_id:0,host:"localhost:20001",priority:1},{_id:1,host:"localhost:20002",priority:2}]}

 

{

        "_id" : "rs1",

        "members" : [

                {

                        "_id" : 0,

                        "host" :"localhost:20001",

                        "priority" :1

                },

                {

                        "_id" : 1,

                        "host" :"localhost:20002",

                        "priority" :2

                }

        ]

}

 

priority优先级越大,优先级越高

 

 

 

--初始化配置清单

 

 

rs.initiate(config_rs1);

 

 

 

在主服务器 priortity大的服务器插入数据

db.c1.insert({name:"user1"})

db.c1.insert({name:"user2"})

db.c1.insert({name:"user3"})

 

 

--从服务器登陆后 执行

 rs.slaveOk()--需要确认有读的权限

db.c1.find();--从服务器执行slaveOk后就可以查看。

但是从服务器不能插入数据

db.c1.insert({name:"user1"});--"errmsg": "not master"

 

 rs.status()--查看副本集状态

主服务器



从服务器:











rs.的命令官网
http://docs.mongodb.org/manual/reference/method/js-replication/


官网说明:

http://docs.mongodb.org/manual/core/replica-set-architecture-three-members/

0 0
原创粉丝点击