2012-03-21 29 views
7

我們集羣中的所有節點都是「次要的」,並且沒有節點正在提升爲「主要」節點。mongo DB - 所有節點都是次要的

如何強制節點成爲主節點?

===解決方案=== 當我們應該只有奇數個節點時,我們的副本集中有4個節點。

  1. 刪除節點,所以你具有奇數個節點的

    • rs.config()

    編輯在記事本中/ textpad除去服務器

    之一的服務器的列表
    • config = POST_MODIFIED_LIST_HERE

    • rs.reconfig(配置{力:真正})

  2. 停止MongoDB的服務的所有節點上 '的mongod',並把他們帶回了

  3. 完成

如果這不能解決問題,請嘗試向其中一個節點添加優先級。

+0

請發表狀態的副本集 - rs.status()例如 - 以顯示他們是否正在恢復,無法訪問,其中有最新的時間戳等 - 很難建議什麼嘗試沒有一些細節 – 2012-03-22 01:35:54

+0

謝謝隊友。這是一個很好的問題/答案。 – 2013-11-04 21:11:57

回答

1

如果有偶數個節點,一個答案是刪除一個。另一個答案可以是添加一個仲裁器,該仲裁器沒有數據副本,但僅僅參與投票並投票並斷開聯繫。通過這種方式,您可以獲得奇數投票和有保證的選舉,但可以獲得四個節點的可用性/容量