У меня есть массовая загрузка для нового индекса, который я отправляю в мой кластер ES из logstash. Поэтому я хочу, чтобы репликация и обновление были отключены до завершения загрузки, и я снова включу эти значения после завершения загрузки.
У меня есть файл конфигурации, который выглядит следующим образом
input {
stdin { type => stdin }
}
filter {
csv {
separator => " "
columns => [ ...]
}
}
output {
amazon_es {
hosts =>
["my-domain.us-east-1.es.amazonaws.com"]
index => "my-index"
template => "conf/my-index-template.json"
template_name => "my-index-template-name"
region => "us-east-1"
}
}
И файл шаблона выглядит следующим образом:
{
"template" : "my-index-template-name",
"mappings" : {
...
},
"settings" : {
"index" : {
"number_of_shards" : "48",
"number_of_replicas" : "0",
"refresh_interval": "-1"
}
}
}
И когда я запускаю logstash и захожу посмотреть на настройки этого индекса, все соответствия этого шаблона уважаются, что хорошо, но всев разделе settings
игнорируется и принимает значения по умолчанию (то есть number_of_shards=5
и number_of_replicas=1
)
Некоторые примечания к исследованию: Если я получу шаблон после его установки изСам ES вижу правильные значения в шаблоне (как для mappings
, так и для settings
). Похоже, они просто не применяются к индексу
Также, если я возьму содержимое файла шаблона и создаю индекс вручную без PUT
, он будет отображаться так, как я ожидал
Моя версия logstash - 7.3.0, а моя версияasticsearch - 6.7
Не уверен, что я здесь не так делаю