Cómo convertir indices existentes a ElasticSearch ILM


Para migrar índices existentes a ILM lo primero que hay que hacer es habilitar ILM para las nuevas escrituras, de modo que no se escriba más en los índices existentes.

Despues, tendremos que crear un nuevo policy para los índices existentes:

PUT _ilm/policy/existing-indexes
{
  "policy": {
    "phases": {
      "warm": {
        "min_age": "30d",
        "actions": {
          "allocate": {
            "require": {
              "data": "warm"
            }
          },
          "forcemerge": {
            "max_num_segments": 1
          }
        }
      }
    }
  }
}

Es importante que este nuevo policy no define la acción de rollover. La acción hot tampoco es necesaria ya que los índices no se van a rotar.

Y finalmente, simplemente tenemos que aplicar la nueva política a los índices existentes que no tengan ILM:

PUT existing-index-no-ilm*/_settings 
{
  "index": {
    "lifecycle.name": "existing-indexes"
  }
}

Y listo, el proceso moverá los índices existentes que cumplan con las condiciones a modo warm. Asegurate de tener suficiente espacio en las máquinas warm para almacenar los índices existentes.


Ver también