2015-11-25 62 views
7

在ES中是否有一種通用的方法來知道「oops,集羣是否被佔用,索引是否必須重建」?如何知道在elasticsearch集羣上何時發生數據丟失

或者,回答這個問題的模式或方法?

到目前爲止,我們已經使用以下方法:

1)如果集羣進入紅色狀態,數據已經丟失,指數必須重建。

2)如果羣集在綠色和黃色之間翻轉,則不會發生數據丟失。

3)與#2類似,對於具有5個碎片的索引,只要「active_shards」值等於或大於5,一切都很好。

#3是否公平?基本上,如下正確:

DataLossHasOccurred ==( 「active_shards」 < 「active_primary_shards」)

回答

0

沒有沒有。

3是對其他人的等同檢查。

當羣集爲「紅色」時,表示有些數據不可用。它可能不會丟失。如果少數服務器脫機,但可以恢復數據,則可以恢復。發生這種情況時,羣集將返回到綠色狀態。

當羣集爲「黃色」時,表示羣集正在減少操作。根據爲受影響的索引配置的副本數量,這可能是一個問題,也可能不是。我用來監視這個指標的是整體狀態和未分配碎片的數量。如果羣集處於黃色狀態,未分配的碎片數量不會減少,則會導致配置錯誤。

+0

謝謝,但這並不直接回答這個問題:數據丟失發生,索引必須重建。這是這個線程的重點。 – Jonesome

相關問題