MongoDB的複製集是由傳統的master/slave結構演變而來的,是一組擁有相同數據集的MongoDB實例所組成的集羣,所說的複製其實就是將數據同步在多臺服務器的過程。git
複製集提供了數據的冗餘備份,並在多個服務器上存儲數據的副本,提升了數據的可用性,保證了數據的安全。github
複製集至少須要兩個節點:主節點和從節點。主節點負責處理客戶端的請求,並記錄在其上的全部寫操做的oplog,而從節點按期輪詢主節點來獲取這oplog,並在本身的數據副本執行這些操做。mongodb
下載 https://github.com/mongodb/mongo 版本看本身要求vim
具體操做安全
#準備 sudo cp mongo-2.6.zip /usr/local sudo unzip mongo-2.6.zip sudo mv mongo-2.6 mongo26 cd mongo26 sudo apt-get install scons sudo scons all cd /alidata #配置文件 sudo mkdir -p mongodb/conf cd /alidata/mongodb/conf sudo vim 28001.conf 插入以下內容: bind_ip=10.0.13.13 port=28001 logpath=/alidata/mongodb/log/28001.log logappend=true dbpath=/alidata/mongodb/data/28001 pidfilepath=/alidata/mongodb/data/28001/28001.pid replSet=teddy oplogSize=40960 :wq sudo cp 28001.conf 28002.conf sudo sed -i 's/28001/28002/g' 28002.conf sudo cp 28001.conf 28003.conf sudo sed -i 's/28001/28003/g' 28003.conf #數據目錄 sudo mkdir -p mongodb/data sudo mkdir -p mongodb/data/28001 sudo mkdir -p mongodb/data/28002 sudo mkdir -p mongodb/data/28003 #日誌目錄 sudo mkdir -p mongodb/log #啓動 sudo /usr/local/mongo26/mongod --config /alidata/mongodb/conf/28001.conf sudo /usr/local/mongo26/mongod --config /alidata/mongodb/conf/28002.conf sudo /usr/local/mongo26/mongod --config /alidata/mongodb/conf/28003.conf #檢查 ps -ef |grep 'mongod' netstat -tlnp #鏈接並配置 /usr/local/mongo26/mongo 10.0.13.13:28001 rs.initiate( {"_id":"teddy","members":[{"_id":1,"host":"10.0.13.13:28001"},{"_id":2,"host":"10.0.13.13:28002"},{"_id":3,"host":"10.0.13.13:28003"}]}) #能夠指定某個爲選舉節點 rs.initiate( {"_id":"teddy","members":[{"_id":1,"host":"10.0.13.13:28001"},{"_id":2,"host":"10.0.13.13:28002"},{"_id":3,"host":"10.0.13.13:28003","arbiterOnly":true}]}) #退出重連 /usr/local/mongo26/mongo 10.0.13.13:28001