java.lang.Исключение IllegalArgumentException: параметр [index.lifecycle.rollover_alias] для индекса [job_temp_762226] пуст или не определен?

#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 минут.