2015-12-16 104 views
0

我有一個由三個節點組成的三個節點,一個主節點,一個輔助節點和一個仲裁器。MongoDB副本集失敗

當我在主節點上執行輔助節點上的初始重新同步時,主節點被終止。當我檢查主節點被示出的例外是日誌

重度:在地址無效的訪問:0x7fcde1e00ff0SEVERE:在地址無效的訪問:0x7fcde1e00ff0

重度:GOT信號:7(總線錯誤)

此後,由於此異常,此主節點未啓動,並且輔助節點停留在STARTUP2狀態。

我能夠將不同端口上的主節點作爲獨立節點(或處於維護模式)啓動並讀取其數據。但是,無論何時我將其作爲副本集的一部分運行,它都會以上述異常終止

主要和次要RAID0都作爲其存儲。數據大小約爲550GB。

我將主節點(當前爲down)的整個數據複製到輔助節點(處於STARTUP2狀態),然後重新啓動輔助節點。但它也沒有奏效。次節點在重新啓動時被選舉爲主節點,但在選舉的第二秒內也會終止,但出現以下異常:

嚴重:LogOp()中致命的DBException:10334 BSONObj大小:50359410(0x3006C72)無效。大小必須在0到16793600(16MB)第一元件之間:2:β型= 111

重度:終止()調用,打印堆棧(如果實施了平臺): 0x11fd1b1 0x11fc438 0x7ff56dc01846 0x7ff56dc01873 0xe54c9e 0xc4de1b 0xc58f46 0xa0bac1 0xa0c250 0xa0f1bf 0xa0fcc1 0xa1323e 0xa2949a 0xa2af32 0xa2cd36 0xd61654 0xba21a2 0xba3780 0x7724a9 0x11b2fde

如何恢復和重建的副本在這種情況下設置。

我也有這個數據的備份。我可以放棄此副本集並使用此備份數據重新創建副本集?

在這個MongoDB集羣中有另一個副本集,它工作正常。

+0

您是否在配置文件中啓用了身份驗證?你能不能請分享我們的配置文件,以便更好地解決問題。 – Jerry

+0

否驗證未啓用。 – user2710961

+0

我試過,但幾天後排除故障後找不到任何解決方案。所以我重新創建了副本集並從備份中恢復了數據。 – user2710961

回答

0

由於複製滯後,您的輔助服務器的資格是不可能的。 你能發佈你的rs.status()的輸出嗎?

您的輔助服務器可能有一個「找不到要從」infoMessage同步的成員。

由於內存不足,我以前運行過類似的東西。它可以是任何。

通過將主服務器的數據複製到輔助服務器上的另一個文件夾中,並在其上的某個其他端口上啓動一個新實例,然後將其添加到副本(使用{ force: true }選項),以便輔助服務器具有某處從...同步。

您也可以銷燬副本並重新創建副本,但要注意不要丟失副本的操作日誌。

+0

我銷燬了複製副本並使用備份數據重新創建副本,因爲那時我沒有找到任何其他解決方案。所以我現在不能共享'rs.status()'的輸出。但我記得,輸出結果顯示主節點和仲裁節點爲「不可達/健康」,在「STARTUP2」狀態中爲次要節點。 – user2710961