Elasticsearch indices.breaker.fielddata.limit设置

时间:2015-09-02 14:40:11

标签: elasticsearch

我可以使用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%

1 个答案:

答案 0 :(得分:2)

这似乎是此处指定的已知问题issue:1issue:2。 本质上,一旦您动态更新了断路器设置并将其设置为持久性,就没有理想的方法可以重置为配置文件中指定的默认值。 持久性设置本身存储在global cluster state file中,这些设置会覆盖配置文件中的设置(issue:3