這取決于你的副本集總的節(jié)點(diǎn)個(gè)數(shù),副本集中可以相互聯(lián)系的節(jié)點(diǎn)數(shù)大于總節(jié)點(diǎn)數(shù)一半時(shí),可以有新的primary節(jié)點(diǎn)被選取出來,副本集可以正常工作,如果可以相互聯(lián)系的節(jié)點(diǎn)小于等于總結(jié)點(diǎn)一半,所有節(jié)點(diǎn)都會(huì)變?yōu)閟econdary節(jié)點(diǎn),此時(shí)副本集變?yōu)橹蛔x狀態(tài),所有寫操作失敗.有這個(gè)現(xiàn)象的原因是mongodb的副本集不允許出現(xiàn)多個(gè)primary節(jié)點(diǎn),在可以聯(lián)系的節(jié)點(diǎn)數(shù)小于等于總節(jié)點(diǎn)數(shù)一半時(shí),若依然能夠選出primary,便有可能出現(xiàn)多個(gè)primary節(jié)點(diǎn),導(dǎo)致整個(gè)副本集數(shù)據(jù)混亂,所有節(jié)點(diǎn)變?yōu)閟econdary,在故障節(jié)點(diǎn)恢復(fù)時(shí)副本集還可以正常運(yùn)行.如果遇到正常節(jié)點(diǎn)不足以選出primary,可以通過幾種途徑解決.1)若其他節(jié)點(diǎn)因數(shù)據(jù)損壞不能啟動(dòng),像你說的依然有兩個(gè)節(jié)點(diǎn)存活,可以停止一個(gè)節(jié)點(diǎn),將硬盤數(shù)據(jù)導(dǎo)出至掛掉的節(jié)點(diǎn),啟動(dòng)即可.2)若其他節(jié)點(diǎn)因不可恢復(fù)原因?qū)е虏荒軉?dòng),你可以去掉replset選項(xiàng)將此節(jié)點(diǎn)作為單機(jī)服務(wù)啟動(dòng),若要恢復(fù)為副本集模式,可以試一下將一個(gè)正常節(jié)點(diǎn)的local相關(guān)的數(shù)據(jù)文件刪除,重新以replset啟動(dòng),初始化自身之后使用rs.add()添加新節(jié)點(diǎn),線上沒有遇到過這種情況,如果實(shí)在沒辦法,你可以試一下.