MongoDB復(fù)制(副本集)
MongoDB復(fù)制就是將數(shù)據(jù)同步在多個(gè)服務(wù)器的過程,類似于主從庫數(shù)據(jù)同步。
復(fù)制提供了數(shù)據(jù)的冗余備份,并且在多個(gè)服務(wù)器上保存了數(shù)據(jù)副本,提高了數(shù)據(jù)的可用性喝安全性。
那么什么是復(fù)制呢?
- 可以保證數(shù)據(jù)的安全性
- 保證數(shù)據(jù)高可用性
- 災(zāi)難恢復(fù)
- 無需停機(jī)維護(hù)(備份,重建索引等)
- 可以分布式讀取數(shù)據(jù)
復(fù)制的原理
mongodb的復(fù)制至少需要兩個(gè)節(jié)點(diǎn),其中一個(gè)是主節(jié)點(diǎn),用于處理客戶端請求,其余都是從節(jié)點(diǎn),用于同步主節(jié)點(diǎn)的數(shù)據(jù)。
初始化
哪個(gè)服務(wù)器先初始化哪個(gè)就是主服務(wù)器
初始化命令:
rs.initiate()
從服務(wù)器加入到集群中需要在主服務(wù)器中使用以下命令:
rs.add('ip:port')
然后進(jìn)入從服務(wù)器,執(zhí)行以下命令設(shè)置副本節(jié)點(diǎn)可讀:
rs.slaveOk()
從副本集中刪除成員:
rs.remove('ip:port')
向副本集中添加仲裁:
rs.addArb("ip:port")
查看副本集的配置信息:
rs.conf()
查看副本集的運(yùn)行狀態(tài):
rs.status()
副本集角色切換:
rs.stepDown()
查看副本節(jié)點(diǎn)(監(jiān)控主從延時(shí)):
rs.printSlaveReplicaionInfo()