1. 程式人生 > >搭建mongodb複製集

搭建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,則全部配置完成