Elasticsearch indices.breaker.fielddata.limit 设置
Posted
技术标签:
【中文标题】Elasticsearch indices.breaker.fielddata.limit 设置【英文标题】:Elasticsearch indices.breaker.fielddata.limit settings 【发布时间】:2015-09-02 14:40:10 【问题描述】:我可以使用 CURL 设置breaker.fielddata 限制,但不遵守配置中的设置:
ES 版本:1.6.0
在我的节点配置中
/etc/elasticsearch/elasticsearch.yml
indices.breaker.fielddata.limit: 60%
#indices.breaker.fielddata.limit: 60% # this should work, but is not
#indices.fielddata.breaker.limit: 60% # this is deprecated
indices.breaker.total.limit: 70%
indices.breaker.request.limit: 50%
indices.fielddata.cache.size: 60%
在配置中 fielddata 限制设置为 60%(4.7g of 8g heap),但是:
curl -XGET 'http://localhost:9200/_nodes/stats?pretty' |less
"breakers" : "request" : "limit_size_in_bytes" : 4277534720, "limit_size" : "3.9gb", "estimated_size_in_bytes" : 0, "estimated_size" : "0b", "overhead" : 1.0, "tripped" : 0 , "fielddata" : "limit_size_in_bytes" : 3422027776, "limit_size" : "3.1gb", "estimated_size_in_bytes" : 0, "estimated_size" : "0b", "overhead" : 1.0, "tripped" : 0 , "parent" : "limit_size_in_bytes" : 5988548608, "limit_size" : "5.5gb", "estimated_size_in_bytes" : 55438576, "estimated_size" : "52.8mb", "overhead" : 1.0, "tripped" : 0
如您所见, indices.breaker.request.limit 确实从 40% 变为 50% 尽管 indices.breaker.fielddata.limit 仍然是 40% (3,1g)
卷曲:
curl -XPUT 'http://localhost:9200/_cluster/settings' -d ' “持久”:“indices.breaker.fielddata.limit”:“60%”'
我可以改变 indices.breaker.fielddata.limit 到 60%
为什么不尊重配置中的行?
indices.breaker.fielddata.limit: 60%
【问题讨论】:
可能看起来像一个愚蠢的问题,但您是否在更改配置文件后重新启动节点实例? :) 当然我做到了虽然不是一次整个集群,但是是的。 【参考方案1】:似乎这是issue:1,issue:2 此处指定的已知问题。 本质上,一旦您动态更新了断路器设置并将其设置为持久性,就没有理想的方法可以重置为配置文件中指定的默认值。 永久设置本身存储在global cluster state file 中,这些设置会覆盖配置文件中的设置 (issue:3)
【讨论】:
知道issue:3
应该链接到哪里吗?
@JacobKrall 感谢您指出我已经更新了链接以上是关于Elasticsearch indices.breaker.fielddata.limit 设置的主要内容,如果未能解决你的问题,请参考以下文章
Elasticsearch 学习笔记 Elasticsearch及Elasticsearch head安装配置