MongoDB故障處理

壹頁書發表於2014-06-06

MongoDB副本集的主節點如果發生當機故障,叢集會自動選舉出新的主節點。這個過程對於應用是透明的,也不需要人工介入。

如果優先順序是一樣的,當機的節點恢復之後,重新加入叢集,他會自動從新的主節點同步資料,並把自己設定為副本節點。(退位讓賢了)

 

如果設定了主節點的優先順序,則當機的主節點恢復之後,他還會成為叢集的主節點。

實驗假設192.168.1.3為主節點,優先順序為10,其餘節點的優先順序為1。集合中已經存在2條資料。


資料如下:

然後kill掉192.168.1.3的MongoDB程式,模擬主節點故障。

MongoDB叢集自動觸發選舉,選出了192.168.1.2作為新的主節點。

在192.168.1.2新增一個資料


這時候恢復192.168.1.3節點,他會自動從192.168.1.2同步最新的資料,然後把自己設定為主節點。


在192.168.1.3檢視資料,發現資料沒有丟失。



如果發生了人為的失誤,比如忘記使用篩選條件而刪除了整個集合的資料。如果有延遲節點,則參考延遲節點恢復資料。

如果沒有延遲節點,則只能從最近的備份恢復。

如果沒有備份,就只能呵呵了。



來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29254281/viewspace-1176833/,如需轉載,請註明出處,否則將追究法律責任。

相關文章