我可以使用CURL设置breaker.fielddata限制,但不遵守config中的设置:
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的8g堆),但是:
curl -XGET' http://localhost:9200/_nodes/stats?pretty' |以下
"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.limi t确实将形式从40%变为50% 而 indices.breaker.fielddata.limi t仍为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%
答案 0 :(得分:2)
这似乎是此处指定的已知问题issue:1,issue:2。 本质上,一旦您动态更新了断路器设置并将其设置为持久性,就没有理想的方法可以重置为配置文件中指定的默认值。 持久性设置本身存储在global cluster state file中,这些设置会覆盖配置文件中的设置(issue:3)