elasticsearch:为什么在响应/ _cat / shards时缺少分片大小

时间:2015-11-17 14:43:57

标签: elasticsearch

我们看到错误添加到索引中,当我们要求/ _cat /分片时,我们会看到这一点。

群集状态为绿色,到目前为止我们没有看到任何其他问题。

以下是什么意思?

Response to /_cat/shards

1 个答案:

答案 0 :(得分:0)

好的,我们明白为什么。

我们不得不查看日志。 (群集状态为绿色,但群集被炸毁......对我们来说很奇怪。)

问题是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 [org.elasticsearch.action.search.SearchRequest@43c19180] 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 [org.elasticsearch.action.search.SearchRequest@43c19180] 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
tor.BytesRefFieldComparatorSource@3b41b3cb>!]: 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