Как удалить бесхозные данные в elasticsearch после сжатия?

#elasticsearch

#elasticsearch

Вопрос:

Elasticsearch сказал, что данные индекса составляют 65 ГБ. Но размер папки с данными на диске составляет 95 Гб. Итак, как найти и удалить эти 30 ГБ?

На моем сервере Windows у меня была версия elasticsearch 6.1 с почти 70 ГБ данных. После обновления до 6.7 я настроил политику жизненного цикла для сокращения старых индексов. Я полагаю, что в процессе сжатия остались некоторые данные (старые индексы?) на диске. Если это связано с проблемой, мое состояние упругости выглядит нормально:

 {
  "cluster_name" : "elasticsearch",
  "status" : "green",
  "timed_out" : false,
  "number_of_nodes" : 1,
  "number_of_data_nodes" : 1,
  "active_primary_shards" : 311,
  "active_shards" : 311,
  "relocating_shards" : 0,
  "initializing_shards" : 0,
  "unassigned_shards" : 0,
  "delayed_unassigned_shards" : 0,
  "number_of_pending_tasks" : 0,
  "number_of_in_flight_fetch" : 0,
  "task_max_waiting_in_queue_millis" : 0,
  "active_shards_percent_as_number" : 100.0
}
  

Я вижу старые индексы в мониторинге со статусом Удалено / закрыто. Например:

 log-2018.08.01
Health: Deleted / Closed Deleted / Closed
25.2 MB

log-2018.08.02
Health: Deleted / Closed Deleted / Closed
65.2 MB

log-2018.08.03
Health: Deleted / Closed Deleted / Closed
99.9 MB
  

Но elasticsearch указывает их как псевдоним:

 DELETE /log-2018.08.01

{
  "error": {
    "root_cause": [
      {
        "type": "illegal_argument_exception",
        "reason": "The provided expression [log-2018.08.01] matches an alias, specify the corresponding concrete indices instead."
      }
    ],
    "type": "illegal_argument_exception",
    "reason": "The provided expression [log-2018.08.01] matches an alias, specify the corresponding concrete indices instead."
  },
  "status": 400
}
  

UPD
Я полагаю, что есть ошибка, которая привела к потере файлов. Я запускаю запрос:

 GET /log-2018.08.01/_settings/*uuid
  

И получить результат:

 {
  "shrink-log-2018.08.01" : {
    "settings" : {
      "index" : {
        "resize" : {
          "source" : {
            "uuid" : "CDwuD72lSs-1CMsoIFFQiw"
          }
        },
        "shrink" : {
          "source" : {
            "uuid" : "CDwuD72lSs-1CMsoIFFQiw"
          }
        },
        "uuid" : "mKZ4VWwnTVWkZGw77pMbwg"
      }
    }
  }
}
  

Обе папки (исходная «CDwuD72lSs-1CMsoIFFQiw» и сокращенная «mKZ4VWwnTVWkZGw77pMbwg») существуют на диске. Но elastic сказал, что log-2018.08.01 — это псевдоним.
И исходный индекс выглядит разбитым / обрезанным (например, без «состояния»)

 ├───0
│   └───index
│           _3p.dim
│           _3p.fdt
│           _3p.nvd
│           _3p_Lucene50_0.doc
│           _3p_Lucene50_0.pos
│           _3p_Lucene50_0.tim
│           _3p_Lucene70_0.dvd
  

Комментарии:

1. Вероятно, это потому, что выбранный временной интервал включает старые индексы. Если они были удалены, на вашем диске должно быть достаточно места.

2. Я отредактировал вопрос. Итак, это не индексы, а псевдонимы, и я не могу их удалить.

3. какие индексы у вас есть за этим псевдонимом?

4. Это псевдоним для сокращения индекса. log-2018.08.01 указывает на shrink-log-2018.08.01