#elasticsearch #elastic-stack
Вопрос:
Я создал шаблон индекса в Elasticsearch, вот мои настройки
Index pattern
job_temp*
Priority
None
Component templates
None
Data stream
No
Version
None
{
"template": {
"settings": {
"index": {
"lifecycle": {
"name": "preview_policy"
},
"number_of_shards": "1",
"number_of_replicas": "0"
}
},
"aliases": {
"preview": {}
},
"mappings": {}
}
}
После этого я создал политику жизненного цикла индекса, которая автоматически должна удалять эти индексы через 30 минут,
PUT _ilm/policy/preview_policy
{
"policy": {
"phases": {
"hot": {
"min_age": "0ms",
"actions": {
"rollover": {
"max_age": "30d",
"max_primary_shard_size": "50gb"
},
"set_priority": {
"priority": 100
}
}
},
"delete": {
"min_age": "30m",
"actions": {
"delete": {
"delete_searchable_snapshot": true
}
}
}
}
}
}
Затем я создал индекс с шаблоном job_temp_762226
, поэтому в соответствии с моими настройками я надеялся, что он будет удален через 30 минут, но вместо этого я получаю следующую ошибку,
Чего мне здесь не хватает, чтобы это сработало?
java.lang.IllegalArgumentException: setting [index.lifecycle.rollover_alias] for index [job_temp_762226] is empty or not defined
at org.elasticsearch.xpack.core.ilm.WaitForRolloverReadyStep.evaluateCondition(WaitForRolloverReadyStep.java:77)
at org.elasticsearch.xpack.ilm.IndexLifecycleRunner.runPeriodicStep(IndexLifecycleRunner.java:176)
at org.elasticsearch.xpack.ilm.IndexLifecycleService.triggerPolicies(IndexLifecycleService.java:333)
at org.elasticsearch.xpack.ilm.IndexLifecycleService.triggered(IndexLifecycleService.java:271)
at org.elasticsearch.xpack.core.scheduler.SchedulerEngine.notifyListeners(SchedulerEngine.java:184)
at org.elasticsearch.xpack.core.scheduler.SchedulerEngine$ActiveSchedule.run(SchedulerEngine.java:217)
at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1130)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:630)
at java.base/java.lang.Thread.run(Thread.java:831)
Комментарии:
1. Внимательно ли вы следовали инструкциям здесь ?
2. @Val Там слишком много информации, я не знаю, какие все варианты мне нужно использовать для моего конкретного варианта использования. Например, нужно ли мне создавать что-то, называемое потоком данных, я этого не делал, так как не совсем понимал его использование. Можете ли вы помочь в том, какие все шаги мне нужно сделать? Я создал шаблон, я создаю политику индекса, я сопоставил шаблон с политикой индекса. Можете ли вы сказать мне, что я пропустил?
3. @В моем случае я просто хочу автоматически удалять индексы с префиксом
job_temp
через 30 минут.