Как удалить потерянные данные в эластичном поиске после сжатия? - PullRequest
0 голосов
/ 27 марта 2019

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

На моем Windows-сервере у меня была версия Flexiblesearch 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

Но эластичный поиск указывает их как псевдоним:

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") существуют на диске. Но эластик сказал, что 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...