01.
歡迎使用ueditor!
MongoDB支援不同服務之間的非同步資料複製,來實現failover(容錯移轉,故障切換,故障恢複) and redundancy(資料冗餘)。
同一時間,只有一個服務節點(primary或者master)支援寫入。
MongoDB支援兩種複製的模式:
Master/Slave,主從複製,角色包括master和slave。
Replica Set,複製集複製,角色包括primary和secondary。
介紹Master/Slave的官方地址:
http://www.mongodb.org/display/DOCS/Master+Slave
介紹Replica Set的官方地址:
http://www.mongodb.org/display/DOCS/Replica+Sets
今天實戰的是master-slave,也就是主從複製。
首先使用mongod啟動服務,關於啟動的參數可以從http://www.mongodb.org/display/DOCS/Command+Line+Parameters頁面找到相關的介紹。
其中關於主從複製的參數常用的是下面幾個:
--master,指明當前服務是主。
--slave,指明當前服務是從。
--source,指明主服務的地址,格式為server:port。
--only <db>,指明當前從只複製主的指定資料庫,資料庫名稱用db表明。
啟動服務可以從命令列一個一個參數的指定,也可以將參數存放在一個檔案中,然後啟動的時候指定這個檔案為服務的設定檔。後見的方法便於管理和維護,推薦使用。
首先配置主服務。
01.port=30000
02.ddbpath=d:\mongodb\master1
03.directoryperdb=true
04.logpath=d:\mongodb\master1\log.log
05.logappend=true
06.master=true
07.bind_ip=192.168.0.111
配置的參數如上所示,將上面的參數拷貝到一個檔案中,起名【master1.conf】,然後使用下面的命令啟動主服務。
d:\mongodb\bin\mongod --config=d:\mongodb\master1\master1.conf
上面是windows裡面啟動的命令。
如果是ubuntu中使用,假設conf檔案存放在/home/andyshi/master1/目錄下,將conf檔案內容修改如下。
port=30000 dbpath=/home/andyshi/master1 directoryperdb=truelogpath=/home/andyshi/master1/log.log logappend=truemaster=truebind_ip=192.168.0.111
使用下面的命令啟動主服務。
mongod --conf=/home/andyshi/master1/master1.conf
大家注意到了,主要區別就是目錄的地方,注意一下就可以了。
接下來就可以使用mongo這個用戶端測試我們配置的結果了,或者使用python+pymongo也可以測試,順便熟悉一下python+pymongo的使用。
我們的用戶端測試環境使用ubuntu+python2.7+pymongo2.1。
在終端中輸入
mongo 192.168.0.111:30000