Spec-Zone.ru › Elasticsearch 7
›Elasticsearch Guide [7.17] ›ILM: Управление жизненным циклом индексов

Управление существующими индексами

Если вы использовали Curator или какой-либо другой механизм для управления периодическими индексами, у вас есть несколько вариантов при переходе к ILM:

  • Настройте шаблоны индексов для использования политики ILM для управления новыми индексами. После того, как ILM будет управлять текущим индексом записи, вы можете применить соответствующую политику к старым индексам.
  • Переиндексируйте данные в управляемый ILM индекс.

Начиная с версии Curator 5.7, Curator игнорирует управляемые ILM индексы.

Применение политик к существующим временным рядам индексов

Самый простой способ перехода к управлению периодическими индексами с помощью ILM — это настроить шаблон индекса для применения политики жизненного цикла к новым индексам. После того, как ILM будет управлять индексом, в который вы производите запись, вы можете вручную применить политику к старым индексам.

Определите отдельную политику для старых индексов, которая опускает действие rollover. Rollover используется для управления тем, куда попадают новые данные, поэтому он не применим.

Обратите внимание, что политики, примененные к существующим индексам, сравнивают min_age для каждой фазы с оригинальной датой создания индекса и могут сразу переходить через несколько фаз. Если ваша политика выполняет ресурсоемкие операции, такие как слияние (force merge), вы не хотите, чтобы много индексов выполняли эти операции одновременно при переходе на ILM.

Вы можете указать разные min_age значения в политике, которую вы используете для существующих индексов, или установить index.lifecycle.origination_date для управления тем, как вычисляется возраст индекса.

После того, как все индексы до ILM будут вытеснены и удалены, вы можете удалить политику, которую вы использовали для их управления.

Если вы используете Beats или Logstash, включение ILM в версии 7.0 и выше автоматически настраивает ILM для управления новыми индексами. Если вы используете Beats через Logstash, вам может потребоваться изменить конфигурацию вывода Logstash и вызвать настройку Beats для использования ILM для новых данных.

Переиндексация в управляемый индекс

Альтернатива применению политик к существующим индексам — это переиндексация ваших данных в управляемый ILM индекс. Вы можете захотеть сделать это, если создание периодических индексов с очень небольшим количеством данных привело к чрезмерному количеству фрагментов или если постоянное индексирование в один и тот же индекс привело к большим фрагментам и проблемам с производительностью.

Сначала необходимо настроить новый управляемый ILM индекс:

  1. Обновите шаблон индекса, чтобы включить необходимые настройки ILM.
  2. Инициализируйте начальный индекс в качестве индекса записи.
  3. Прекратите запись в старые индексы и индексируйте новые документы, используя псевдоним, указывающий на инициализированный индекс.

Для переиндексации в управляемый индекс:

  1. Приостановите индексирование новых документов, если вы не хотите смешивать новые и старые данные в управляемом ILM индексе. Смешивание старых и новых данных в одном индексе безопасно, но объединённый индекс необходимо сохранить, пока вы не будете готовы удалить новые данные.
  2. Уменьшите интервал опроса ILM, чтобы убедиться, что индекс не станет слишком большим, ожидая проверки rollover. По умолчанию ILM проверяет, какие действия необходимо выполнить, каждые 10 минут.

    PUT _cluster/settings
    {
      "persistent": {
        "indices.lifecycle.poll_interval": "1m" 
      }
    }

    Проверять каждые минуту, чтобы определить, требуются ли действия ILM, такие как rollover.

  3. Переиндексируйте данные, используя API переиндексации. Если вы хотите разделить данные в порядке их первоначального индексирования, вы можете запустить отдельные запросы переиндексации.

    Документы сохраняют свои оригинальные идентификаторы. Если вы не используете автоматически сгенерированные идентификаторы документов и переиндексируете из нескольких исходных индексов, вам может потребоваться выполнить дополнительную обработку, чтобы убедиться, что идентификаторы документов не конфликтуют. Один из способов сделать это — использовать скрипт в вызове переиндексации для добавления имени исходного индекса к идентификатору документа.

    POST _reindex
    {
      "source": {
        "index": "mylogs-*" 
      },
      "dest": {
        "index": "mylogs", 
        "op_type": "create" 
      }
    }

    Соответствует вашим существующим индексам. Использование префикса для новых индексов упрощает использование этой схемы индексов.

    Псевдоним, указывающий на ваш инициализированный индекс.

    Прекращает переиндексацию, если несколько документов имеют одинаковый идентификатор. Это рекомендуется, чтобы предотвратить случайное перезапись документов, если документы в разных исходных индексах имеют одинаковый идентификатор.

  4. После завершения переиндексации установите интервал опроса ILM обратно к его значению по умолчанию, чтобы предотвратить ненужную нагрузку на мастер-узел:

    PUT _cluster/settings
    {
      "persistent": {
        "indices.lifecycle.poll_interval": null
      }
    }
  5. Возобновите индексирование новых данных с использованием того же псевдонима.

    Запрос с использованием этого псевдонима теперь будет искать ваши новые данные и все переиндексированные данные.

  6. После проверки того, что все переиндексированные данные доступны в новых управляемых индексах, вы можете безопасно удалить старые индексы.

© 2023-2025 Elasticsearch
As of September 2024, Elasticsearch is available under a choice of three licenses: the Server Side Public License (SSPL), the Elastic License, or the AGPLv3 (OSI approved).
Elasticsearch and the Elasticsearch logo are trademarks of Elasticsearch B.V., registered in the U.S. and in other countries.
https://www.elastic.co/guide/en/elasticsearch/reference/7.17/ilm-with-existing-indices.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API