Переход от Elasticsearch к OpenSearch

Процесс перехода с Elasticsearch на OpenSearch зависит от текущей версии Elasticsearch, типа установки, терпимости к простоям и чувствительности к затратам.

Вместо того чтобы рекомендовать шаги для каждой ситуации, мы предоставляем общее руководство по процессу. Эта статья в блоге представляет собой краткое описание процесса обновления.

Что такое обновление Elasticsearch до OpenSearch?

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

При переходе с Elasticsearch на OpenSearch обновляются настройки и индексы:

  • Настройки кластера: Все динамические настройки, которые поддерживаются в новом кластере, будут перенесены, а те, которые были устаревшими, будут заархивированы.
  • Индексы: Все совместимые индексы (то есть все ваши данные) будут доступны для чтения/записи новой версией программного обеспечения.

Статические настройки, определенные в файлах opensearch.yml или elasticsearch.yml, не переносятся автоматически во время обновления. Каждая версия OpenSearch поставляется в комплекте с инструментом opensearch-upgrade. Этот инструмент подключается к кластеру Elasticsearch и автоматически перемещает статические настройки, а также кластер и настройки, определенные в файлах elasticsearch.yml в opensearch.yml. Если вы используете ElasticSearch keystore для хранения секретных значений, вы также можете использовать инструмент opensearch-upgrade для автоматизации миграции.

Подготовка к обновлению

Если вы используете Elasticsearch OSS или старые минорные версии OpenSearch и хотите перейти на последнюю версию OpenSearch, вам необходимо выполнить следующие действия.

  • Во-первых, создайте резервную копию данных, сделав снимок существующего кластера (Вы можете следовать подходу, описанному в разделе Обновление до OpenSearch.
  • Во-вторых, проверьте совместимость версий существующего кластера и версии, на которую вы переходите. OpenSearch был форком последней версии Elasticsearch OSS, 7.10.2.

Индексы совместимы с текущей и предыдущими основными версиями (OpenSearch 1.x или более поздняя версия может читать/записывать индексы из Elasticsearch 6.x и 7.x OSS).

Совместимость работает со всеми основными версиями и минорными версиями последней основной версии. OpenSearch 1.x или более поздней версии может присоединиться к кластеру Elasticsearch 6.8.x и 7.x OSS.

Индексы, которые были созданы до версии Elasticsearch 6.x, должны быть переиндексированы или удалены, чтобы обновить кластер до OpenSearch. Кластер не сможет запуститься, если у вас есть несовместимые индексы.

Используйте Reindex API для переноса данных из индексов, созданных в версиях до 6.x, в новую версию. Вот пример:

Наконец, загрузите последнюю версию OpenSearch со страницы загрузок OpenSearch. Если вам нужна помощь в установке, обратитесь к руководству в разделе Установка и настройка OpenSearch.

Elasticsearch OSS является основой для Open Distro, и у него такие же пути обновления. Вы можете выполнить все шаги для выбранного вами пути обновления кластера.

Матрица поддержки перехода с Elasticsearch OSS на OpenSearch

Open Source Elasticsearch Рекомендуемый путь обновления
7.0 to 7.10.2 Обновление Restart/Rolling до OpenSearch 1.x
6.8 Обновление Restart/Rolling до версии 7.10.2
6.0 to 6.7 Обновление Restart/Rolling до версии 6.8
5.6 Обновление Restart/Rolling до версии 6.8
5.0 to 5.5 Обновление Restart/Rolling до версии 5.6

Клиенты и инструменты

Если вы используете такие инструменты, как Beats, Logstash, Fluentd и Fluent Bit, и хотите продолжить их использование, см. раздел Agents and Ingestion Tools. Некоторые клиенты и инструменты имеют встроенную проверку версий и не работают из коробки. OpenSearch имеет промежуточное решение. Он собран с флагом совместимости, который возвращает к версии 7.10.2, и вам нужно будет установить настройки кластера следующим образом:

OpenSearch также предоставляет клиенты для нескольких популярных языков программирования, включая Python, NodeJS и Go.

Дальнейшие действия

Теперь, когда у вас есть необходимая информация о переходе с Elasticsearch с открытым исходным кодом на OpenSearch, вы можете решить, какой путь подходит для вашей рабочей нагрузки. Опять же, не забудьте сделать резервную копию перед началом процесса обновления.

Понравилась статья? Поделиться с друзьями:
Добавить комментарий