搭建mongodb複製集
mongodb的複製集是保證mongodb高可用的一種方式,它比傳統的主從架構更優秀,因為傳統的主從架構在主服務區宕機之後,不能自己切換服務,只有人工來切換,而複製集有一套內部的選舉機制,可以保證主伺服器在宕機之後,能選出新的主伺服器,從而保證高可用。前一段時間,自己為客戶搭建了一套複製集,在這裡把其中的配置過程貼出來·,供大家參考參考。
概述
為了保證mongodb資料庫的高可用性,搭建了複製集,因為複製集起碼要有三個例項,又因為系統只有兩臺伺服器,所以在主伺服器上啟動一個例項程序,在從伺服器上啟動兩個例項程序,並且在主伺服器上進行初始化,那麼主服務上的程序就成為了主程序,這樣就能保證在主伺服器宕機以後,肯定會自動切換到從伺服器。
·配置文件
主伺服器的配置檔案地址為:/usr/local/mongodb/master.conf
配置檔案內容為:
dbpath=/home/data/mongodbdata/master 資料存放位置
logpath=/usr/local/mongodb/logs/master.log 日誌存放位置
logappend=true 日誌以追加形式記錄
port=27017 埠號
fork=true 開啟子程序
replSet=tonghao 複製集名稱,三個必須要一樣
從服務的配置檔案地址為: /usr/local/mongodb/confs/ 這裡面有兩個配置檔案
Slave1配置檔案內容為:
dbpath=/home/data/mongodbdata/slave1/
logpath=/usr/local/mongodb/logs/slave1.log
logappend=true
port=27017
fork=true
replSet=tonghao
slave2配置檔案內容為:
dbpath=/home/data/mongodbdata/slave2/
logpath=/usr/local/mongodb/logs/slave2.log
logappend=true
port=27016
fork=true
replSet=tonghao
以上配置檔案可以根據實際情況進行修改
·啟動過程
首先啟動三個服務例項,然後登陸到主伺服器,輸入
config={_id:'tonghao',members:[{_id:0,host:'172.16.16.18:27017'},{_id:1,host:'172.16.16.19:27017'}, {_id:2,host:'172.16.16.19:27016'}]}
然後執行rs.initiate(config),如果看見{“ok”:1}說明初始化成功
然後可以登陸從伺服器,輸入rs.slaveOk(true),並且可以看見角標變為secondary,則全部配置完成