2015-11-17 42 views

回答

0

OK,我們可以看到這是爲什麼。我們不得不在日誌中查找。 (羣集狀態是綠色的,但羣集被炸燬......奇怪的是我們。)

問題是fielddata和內存。我們認爲,通過轉向具有%100更多內存的節點,我們可以解決這個問題,但事實證明情況並非如此。

(我們有一些代碼來監視斷路器,但該代碼尚未部署。)

[node-5a] [FIELDDATA] New used memory 641586695 [611.8mb] from field [PostalCode] would be lar 
ger than configured breaker: 622775500 [593.9mb], breaking 
[2015-11-16 18:22:33,777][DEBUG][action.search.type  ] [node-5a] [index_main][1], node[Kzhhh3XlRXmQpsSOEmNENw], [R], s[STARTED]:Failed to execute [[email protected]] lastShard [true] 

我們知道,真正的解決辦法是去doc_values。這也已被編碼(但尚未部署)。

底線:另一天,ES又一次災難性的數據丟失。 (好東西,我們在這之後使用SQL Server。)

產品建議:當斷路器跳閘時,或許集羣狀態應該是綠色以外的東西?我們長期監測集羣狀態,最近才瞭解斷路器(並且必須編寫相當數量的代碼來管理斷路器)。


其他日誌信息

[2015-11-16 18:22:33,769][WARN ][indices.breaker   ] [node-5a] [FIE 
LDDATA] New used memory 641586695 [611.8mb] from field [PostalCode] would be larger than configured breaker: 622775500 [593.9mb], breaking 

[2015-11-16 18:22:33,777][DEBUG][action.search.type  ] [node-5a] [index_v5][1], node[Kzhhh3XlRXmQpsSOEmNENw], [R], s[STARTED]: 
Failed to execute [[email protected]] lastS 
hard [true] 
org.elasticsearch.search.query.QueryPhaseExecutionException: [index_v5_case_4905 
7_2015_11_09][1]: query[filtered(+Hash:26444)->cache(_type:shipment)],from[0],si 
ze[20],sort[<custom:"PostalCode": org.elasticsearch.index.fielddata.fieldcompara 
[email protected]>!]: Query Failed [Failed to execute m 
ain query] 
     at org.elasticsearch.search.query.QueryPhase.execute(QueryPhase.java:163 
... 

Caused by: org.elasticsearch.common.breaker.CircuitBreakingException: [FIELDDATA] Data too large, data for [PostalCode] would be larger than limit of [622775500 
+0

爲什麼 「災難性數據丟失」?你在哪裏看到? –

+0

@AndreiStefan從我們可以看出,數據是歷史。 1)我們的代碼在通信時發生錯誤; 2)在ES日誌中存在類似上述的錯誤(回答擴展); 3)分片統計信息(在OP中顯示)嚴重錯誤。我還不瞭解有關ES的所有信息(但我正在取得巨大而快速的進展),但是當ES節點在客戶打電話時拋出錯誤,並且當日志中充滿了嚴重的異常情況時,我們認爲這是遊戲結束。 – Jonesome