ITPub博客

首页 > 数据库 > NoSQL > Mongodb的master-slave模式与master-master模式实验

Mongodb的master-slave模式与master-master模式实验

原创 NoSQL 作者:mchdba 时间:2014-03-07 21:49:52 0 删除 编辑

--Master Slave实验
--创建数据目录
$ mkdir /data/1
$ mkdir /data/2
$ mkdir /data/3

--启动mongodb库
$ /data/mongodb-linux-i686-1.6.0/bin/mongod --port 27020 --dbpath /data/1 --master &
$ /data/mongodb-linux-i686-1.6.0/bin/mongod --port 27021 --dbpath /data/2 --master &
$ /data/mongodb-linux-i686-1.6.0/bin/mongod --port 27022 --dbpath /data/3 --slave  &

--启动客户端
$ /data/mongodb-linux-i686-1.6.0/bin/mongo localhost:27020
$ /data/mongodb-linux-i686-1.6.0/bin/mongo localhost:27020
> use db1
> db.foo.insert({x:1})
> db.foo.insert({x:2})
> exit
$ # master 2
$ /data/mongodb-linux-i686-1.6.0/bin/mongo localhost:27021
> use db2
> db.foo.insert({x:999, note:"in db2"})
> exit

$ # configure slave
$ /data/mongodb-linux-i686-1.6.0/bin/mongo localhost:27022
> use local
> db.sources.insert({host:"localhost:27020"})
> db.sources.insert({host:"localhost:27021"})
> db.sources.find()

> // wait a little, still connected to slave

> use db1
> db.foo.count()
2
> use db2
> db.foo.find()
{ "_id" : ObjectId("4b8ed00a1d42d47b3afa3c47"), "x" : 999, "note" : "in db2" }
> db.printSlaveReplicationInfo()

 

 

=====================================================================================
--Master Master 实验
--创建数据目录
$ mkdir /data/m1
$ mkdir /data/m2


-- 启动服务器
$ /data/mongodb-linux-i686-1.6.0/bin/mongod --port 27017 --dbpath /data/m1 --master
$ /data/mongodb-linux-i686-1.6.0/bin/mongod --slave --master --dbpath /data/slave --port 10000 --source localhost

--启动客户端
$ /data/mongodb-linux-i686-1.6.0/bin/mongo localhost:27017
> z = connect("localhost:10000/test")
> db.foo.insert({x:7});
> z.foo.find()
> db.foo.find()


// 此处master、slave数据同步

> db.foo.insert({x:81});
> db.foo.find()
> z.foo.find()


// 此处master、slave数据同步

> z.foo.insert({x:91});
> db.foo.find()
> z.foo.find()


// 此处不同步,db查不到x为9的数据。跟http://www.mongodb.org/display/DOCS/Master+Master+Replication上记载不一致

> z.foo.remove({x:8});
> db.foo.find()
> z.foo.find()


// 此处不同步,db查到x为8的数据。跟http://www.mongodb.org/display/DOCS/Master+Master+Replication上记载不一致

 

【】总结:db(master)可以同步到slave,但是slave不能同步到master上。跟doc上不一致。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/26230597/viewspace-1103377/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
Happy is the man who is living by his hobby.

注册时间:2011-09-05

  • 博文量
    232
  • 访问量
    3703846