一尘不染

更新新索引的默认索引number_of_replicas设置

elasticsearch

根据文档,我尝试按以下方式更新副本数

curl -XPUT 'localhost:9200/_settings' -d '
{ "index" : { "number_of_replicas" : 4 } }'

这将正确更改现有节点的副本数。但是,当logstash在第二天创建新索引时,number_of_replicas设置为旧值。

有没有一种方法可以永久更改此设置的默认值,而无需更新elasticsearch.yml群集中的所有文件并重新启动服务?

我也尝试过

curl -XPUT 'localhost:9200/logstash-*/_settings' -d '
{ "index" : { "number_of_replicas" : 4 } }'

无济于事。


阅读 3571

收藏
2020-06-22

共1个答案

一尘不染

是的,您可以使用索引模板。索引模板是为集群中创建的新索引设置默认设置(包括映射)的好方法。

索引模板

索引模板允许定义模板,这些模板将自动应用于创建的新索引。模板包括设置和映射,以及一个简单的模式模板,该模板控制是否将模板应用于所创建的索引。

http://www.elasticsearch.org/guide/zh-
CN/elasticsearch/reference/current/indices-
templates.html

例如:

curl -XPUT 'localhost:9200/_template/logstash_template' -d ' 
{ 
  "template" : "logstash-*", 
  "settings" : {"number_of_replicas" : 4 }
} '

这会将与名称“ logstash- *”匹配的所有新索引的默认副本数设置为4。请注意,这不会更改现有索引,只会更改新创建的索引。

2020-06-22