2011-11-22 88 views
3

我有一臺mongo數據庫複製集與三臺服務器。第三點表明,它是一個致命狀態:Mongodb複製集服務器狀態:FATAL狀態實際上意味着什麼?

{ 
     "_id" : 3, 
     "name" : "slave2-1:27017", 
     "health" : 1, 
     "state" : 4, 
     "stateStr" : "FATAL", 
     "uptime" : 276, 
     "optime" : { 
      "t" : 1321929689000, 
      "i" : 1 
     }, 
     "optimeDate" : ISODate("2011-11-22T02:41:29Z"), 
     "lastHeartbeat" : ISODate("2011-11-22T02:46:05Z"), 
     "pingMs" : 0 
} 

當我登錄到有問題的服務器,蒙戈shell提示符表明,它是致命的狀態。致命的地位實際上意味着什麼,我該如何解決這個問題?

+0

我能夠刪除的節點並將其添加回,現在它的工作原理。我仍然想知道是什麼原因造成的。 – Fatmuemoo

回答

2

致命狀態意味着構件處於它不能從恢復一些狀態。您需要進行干預才能恢復在線狀態。你應該關閉它並診斷問題(如果你不知道爲什麼它處於致命狀態,那麼它的日誌中應該有關於它的信息)。致命狀態

常見原因是無效的配置,從所述一組(前2.0),失敗的回滾,或任何其他未處理的特殊情況刪除節點。

0

其實,我在這裏說的東西..致命的狀態並不意味着該成員在一些國家,它無法恢復。這可能意味着當前當選的主要狀態與當前的致命狀態節點處於完全不同的狀態。無論如何,如果你使當前的致命性成爲主要的,那麼哪些代碼是固定的。我可以通過將致命狀態節點dbpath複製到當前選定的主節點上,然後所有成員再次開始同步。致命的狀態並不意味着您有任何損壞或損壞的數據!

相關問題