Spec-Zone.ru › Elasticsearch 7
›Elasticsearch Guide [7.17] ›Обновить Elasticsearch ›Переиндексация перед обновлением

Переиндексация с удалённого кластера

Вы можете использовать переиндексацию с удаленного для миграции индексов со старого кластера на новый кластер 7.17.28. Это позволяет перейти на 7.17.28 с кластера до версии 6.8 без прерывания работы.

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

Elasticsearch не поддерживает прямую совместимость между основными версиями. Например, вы не можете переиндексировать с кластера 7.x на кластер 6.x.

Если вы используете возможности машинного обучения и мигрируете индексы с кластера 6.5 или более ранней версии, информация о конфигурации задания и каналах данных не сохраняется в индексе. Вам необходимо создать свои задания машинного обучения в новом кластере. Если вы мигрируете с кластера 6.6 или более поздней версии, рекомендуется временно приостановить задачи, связанные с вашими заданиями машинного обучения и каналами данных, чтобы предотвратить несоответствия между различными индексами машинного обучения, которые переиндексируются в чуть разные моменты времени. Используйте API установки режима обновления или остановить все каналы данных и закрыть все задания машинного обучения.

Для миграции ваших индексов:

  1. Настройте новый кластер 7.17.28 и добавьте существующий кластер в reindex.remote.whitelist в elasticsearch.yml.

    reindex.remote.whitelist: oldhost:9200

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

  2. Для каждого индекса, который необходимо перенести в новый кластер:

    1. Создайте индекс с соответствующими отображениями и настройками. Установите refresh_interval на -1 и установите number_of_replicas на 0 для ускорения переиндексации.
    2. Используйте reindex API для извлечения документов из удаленного индекса в новый индекс 7.17.28.

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

    POST _reindex
    {
      "source": {
        "remote": {
          "host": "http://oldhost:9200",
          "username": "user",
          "password": "pass"
        },
        "index": "source",
        "query": {
          "match": {
            "test": "data"
          }
        }
      },
      "dest": {
        "index": "dest"
      }
    }

    Если вы запустите задание переиндексации в фоновом режиме, установив wait_for_completion на false, запрос переиндексации вернёт task_id, которое вы можете использовать для мониторинга прогресса задания переиндексации с помощью API задач: GET _tasks/TASK_ID.

    1. После завершения задания переиндексации установите refresh_interval и number_of_replicas на требуемые значения (значения по умолчанию — 30s и 1).
    2. После завершения переиндексации и статуса нового индекса green, вы можете удалить старый индекс.

© 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/reindex-upgrade-remote.html

Spec-Zone.ru

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