標籤:設定檔 touch ini roc 連接埠 初始化 init 教程 mkdir
Mongodb複製集簡介
Mongodb複製集由一組Mongod執行個體(進程)組成,包含一個Primary節點和多個Secondary節點,Mongodb Driver(用戶端)的所有資料都寫入Primary,Secondary從Primary同步寫入的資料,以保持複製集內所有成員儲存相同的資料集,提供資料的高可用。
用戶端在主節點寫入資料,在從節點讀取資料,主節點和從節點進行資料互動保證資料一致性,如果其中一個節點出了故障,其他發節點馬上將業務接過來無需停機操作
複製集的優勢
讓資料更安全
搞資料可用性
災難恢複
無停機維護(如備份,重建索引,容錯移轉)
讀縮放(額外的副本讀取)
複本集對應用程式是透明的
複製集的特點
N個幾點的群集
任何節點可作為主節點
所有寫入操作都在主節點上
自動容錯移轉
自動回復
複製集部署
安裝好的MongoDB
添加配置4個執行個體
點擊:安裝及執行個體添加教程
# mkdir -p /data/mongodb/mongodb{2,3,4} //建立資料目錄# mkdir /data/mongodb/logs# touch /data/mongodb/logs/mongodb{2,3,4}.log //建立記錄檔# cd /data/mongodb/logs/# chmod 777 *.log //賦予許可權
編輯4個執行個體的記錄檔
# cp -p /etc/mongod.conf /etc/mongod2.conf# vim /etc/mongod2.conf path: /data/mongodb/logs/mongodb2.log //每個執行個體指定自己日誌目錄 dbPath: /data/mongodb/mongodb2 //每個執行個體指定自己的資料目錄 port: 27018 //指定連接埠分別為27017、 27018、 27019 、 27020 ....... replication: //開啟所有執行個體的複製參數:定義一個 replSetName: kgcrs replSetName: kgcrs
啟動所有執行個體
# mongod -f /etc/mongod.conf# mongo --port 27017# mongod -f /etc/mongod2.conf# mongo --port 27018# mongod -f /etc/mongod3.conf# mongo --port 27019# mongod -f /etc/mongod4.conf# mongo --port 27020# netstat -ntap | grep mongod
初始化配置複製集
確定節點上沒有資料
# mongo //進入執行個體 > show dbs > rs.status() //查看複製集狀態 > cfg={"_id":"kgcrs","members":[{"_id":0,"host":"192.168.233.128:27017"},{"_id":1,"host":"192.168.233.128:27018"},{"_id":2,"host":"192.168.233.128:27019"}]} // 定義cfg初始化參數 id 是之前設定檔裡定義的,成員(3個 id分別定義 0 1 2 IP連接埠號碼27017、27018、27019) > rs.initiate(cfg) //啟動複製集 > rs.status() //查看此時可以查看到複製狀態了
增加和刪除節點
配置啟動複製集後可以通過 rs.add() 和rs.remove() 來增加和刪除節點
rs.add("192.168.233.128:27020") //增加節點
rs.status()
rs.remove("192.168.233.128:27020") //刪除節點
# kill -9 61070 //關閉主節點 複製集會自動切換 > rs.status() //查看
Mongodb複製集