Mongodb的master-slave模式與master-master模式實驗

來源:互聯網
上載者:User

--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上不一致。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.