В CSS вы можете обновить версию кластера OpenSearch, чтобы использовать новые функции и улучшения производительности или исправить известные проблемы.
Тип обновления | Сценарий | Процесс обновления |
|---|---|---|
Обновление до той же версии | Обновите патчи ядра кластера. Кластер обновляется до последнего образа текущей версии для исправления известных проблем или оптимизации производительности. Например, если версия кластера 1.3.6(1.3.6_24.3.3_0102), при обновлении до той же версии кластер будет обновлён до последнего образа 1.3.6(1.3.6_24.3.4_0109) версии 1.3.6. (Номера версий приведены только в качестве примера.) |
Узлы в кластерах обновляются поочерёдно, чтобы не прерывать работу сервисов. |
Кросс‑версионное обновление | Обновите кластер до последнего образа целевой версии, чтобы расширить функциональность или включить новые версии. Например, если версия кластера 1.3.6(1.3.6_24.3.3_1224), при кросс‑версионном обновлении кластер будет обновлён до последнего образа 2.19.0(2.19.0_25.9.0_1107) версии 2.19.0. (Номера версий приведены только в качестве примера.) |
Поддерживаемые целевые версии зависят от текущей версии. Подробнее см. Table 2.
Текущая версия | Целевая версия |
|---|---|
OpenSearch 1.3.6 | OpenSearch 2.19.0 |
OpenSearch 2.11.0 | OpenSearch 2.19.0 |
OpenSearch 2.17.1 | OpenSearch 2.19.0 |
Перед обновлением кластера необходимо оценить потенциальные воздействия и просмотреть операционные рекомендации. Это позволяет правильно спланировать время обновления, обеспечивая плавный процесс обновления и минимизируя прерывания сервиса.
Узлы кластера обновляются по одному, чтобы обеспечить непрерывность сервиса. Однако миграция данных, происходящая во время обновления, потребляет I/O‑производительность, и вывод отдельных узлов из эксплуатации всё равно оказывает некоторое влияние на общую производительность кластера.
Чтобы минимизировать это воздействие, рекомендуется регулировать скорость миграции данных в зависимости от цикла трафика кластера: увеличить скорость миграции данных в часы низкой нагрузки, чтобы сократить продолжительность задачи, и уменьшить её before начала пиковых часов, чтобы обеспечить оптимальную производительность кластера. Скорость миграции данных определяется параметром indices.recovery.max_bytes_per_sec. Значение параметра по умолчанию равно количеству vCPU, умноженному на 8 MB. Например, для четырёх vCPU скорость миграции данных составляет 32 MB/s. Вы можете регулировать её в соответствии с требованиями сервиса.
Во время обновления узлы обновляются по одному. Запросы, отправленные на узел, который обновляется, могут завершиться с ошибкой. Чтобы смягчить это воздействие, можно принять следующие меры:
OpenSearch Dashboards и Cerebro будут перестроены во время обновления, что сделает их временно недоступными. Кроме того, из‑за проблем совместимости между версиями OpenSearch Dashboards может стать недоступным во время обновления. Эти проблемы исчезнут после завершения обновления.
После запуска задачу обновления нельзя остановить, пока она не завершится успешно или с ошибкой. Сбой обновления затрагивает только один узел и не прерывает сервисы, если существуют реплики данных. При необходимости вы можете восстановить узел, который не удалось обновить, выполнив Replacing a Faulty Node.
Для оценки времени, необходимого для обновления кластера, можно использовать следующую формулу:
Продолжительность обновления (мин) = 15 (мин) × Общее количество узлов, подлежащих обновлению + Продолжительность миграции данных (мин)
где,
Продолжительность миграции данных (мин) = Общий размер данных (МБ) / [Общее количество vCPU узлов данных × 8 (МБ/с) × 60 (с) × Concurrency]
где,
Приведённые выше формулы используют оценки при идеальных условиях. На практике рекомендуется добавить 20 %–30 % резервирования.
Чтобы обеспечить успешное обновление, необходимо проверить элементы, перечисленные в таблице ниже, перед выполнением обновления.
Check Item | Check Method | Description | Нормальный статус |
|---|---|---|---|
Статус кластера | Проверка системы | После запуска задачи обновления система автоматически проверяет статус кластера. Кластеры, чей статус green или yellow, могут работать корректно и не имеют нераспределённых первичных шардов. | Кластер доступен и текущих задач нет. |
Количество узлов | Проверка системы | После запуска задачи обновления система автоматически проверяет количество узлов. Чтобы обеспечить непрерывность сервиса, в каждом AZ кластера должно быть не менее двух узлов каждого типа. Для кластера с master‑узлами должно быть не менее двух data‑узлов. Для кластера без master‑узлов количество data‑узлов плюс cold data‑узлов должно быть не менее трёх. |
|
Ёмкость диска | Проверка системы | После запуска задачи обновления система автоматически проверяет ёмкость диска. Во время обновления узлы выводятся из эксплуатации поочерёдно, после чего создаются новые узлы. Убедитесь, что суммарная ёмкость диска оставшихся узлов достаточна для обработки всех данных кластера и что использование диска узлами не превышает 80 %. | После вывода из эксплуатации отдельного узла суммарная ёмкость диска оставшихся узлов достаточна для обработки всех данных кластера, и использование диска узлами не превышает 80 %. |
Реплики данных | Проверка системы | Проверьте, что оставшиеся узлы данных и холодные узлы данных могут обрабатывать максимальное количество основных и резервных шардов индексов в кластере. Во время обновления не должно быть нераспределённых реплик. | Количество узлов данных + Количество холодных узлов данных > Максимальное количество реплик индексов + 1 |
Бэкап данных | Проверка системы | Перед обновлением выполните бэкап данных, чтобы предотвратить потерю данных, вызванную сбоями обновления. При отправке задачи обновления вы можете выбрать, проверять ли полные снимки индексов. | Проверьте, был ли выполнен бэкап данных. |
Ресурсы | Проверка системы | После запуска задачи обновления система автоматически проверяет ресурсы. Ресурсы будут созданы в процессе обновления. Убедитесь, что ресурсы доступны. | Ресурсы доступны и достаточны. |
Пользовательские плагины | Системная и ручная проверка | Выполняйте эту проверку только в том случае, если в исходном кластере установлены пользовательские плагины. Если в кластере есть пользовательский плагин, загрузите все пакеты плагинов целевой версии на странице управления плагинами до обновления. Во время обновления установите пользовательский плагин на новых узлах. В противном случае пользовательские плагины будут потеряны после успешного обновления кластера. После запуска задачи обновления система автоматически проверяет, был ли загружен пакет пользовательского плагина, но вам необходимо проверить, корректен ли загруженный пакет плагина. ПРИМЕЧАНИЕ: Если загруженный пакет плагина некорректен или несовместим, пакет плагина не может быть установлен автоматически во время обновления. В результате задача обновления завершается с ошибкой. Чтобы восстановить кластер, вы можете завершить задачу обновления и восстановить узел, который не удалось обновить, выполнив Replacing a Faulty Node. После завершения обновления статус пользовательского плагина сбрасывается в Uploaded. | Пакет плагина кластера, который будет обновлен, загружен в список плагинов. |
Пользовательские конфигурации | Проверка системы | Во время обновления система автоматически синхронизирует содержимое файла конфигурации кластера opensearch.yml. | Пользовательские конфигурации кластеров не теряются после обновления. |
Нестандартные операции | Ручная проверка | Проверьте, были ли в кластере выполнены нестандартные операции. Нестандартные операции относятся к ручным действиям, которые не фиксируются. Эти операции не могут быть автоматически перенесены во время обновления, например, изменение файла конфигурации opensearch_dashboards.yml, системных настроек и маршрутов возврата. | Некоторые нестандартные операции совместимы. Например, изменение плагина безопасности может быть сохранено через метаданные, а изменение системной конфигурации может быть сохранено с помощью образов. Некоторые нестандартные операции, такие как изменение файла opensearch_dashboards.yml, не могут быть сохранены, и файл необходимо заранее создать резервную копию. |
Проверка совместимости | Проверка системы и ручная проверка | После запуска задачи кросс-версионного обновления система автоматически проверяет, есть ли несовместимые конфигурации между исходной и целевой версиями. Если для кластера установлен пользовательский плагин, совместимость версии пользовательского плагина необходимо проверять вручную. | Конфигурации до и после кросс-версии обновления совместимы. |
Check Cluster Loads | Системная и ручная проверка | Если кластер сильно загружен, существует высокая вероятность, что обновление зависнет или завершится с ошибкой. Рекомендуется проверить нагрузку кластера перед обновлением и выполнять обновление только в непиковые часы. Вы также можете выбрать проверку нагрузки кластера при настройке информации об обновлении. |
|
При создании задачи обновления вы можете выбрать проверку, был ли полный индекс данных сохранён с помощью снапшотов. Это помогает предотвратить потерю данных в случае сбоя обновления.
Параметр | Описание |
|---|---|
Тип обновления | Выберите тип обновления.
|
Target Image | Образ целевой версии. При выборе образа отображаются имя образа и детали целевой версии. Поддерживаемые целевые версии отображаются в раскрывающемся списке Target Image. Если целевой образ недоступен, возможные причины следующие:
|
При включении CSS проверяет действительные снапшоты, сопоставляя индексы по имени. Снапшоты помогают предотвратить потенциальную потерю данных, вызванную сбоями обновления.
CSS не может проверять содержимое или время резервного копирования снапшотов. Вам следует вручную проверять существующие снапшоты. Если какой-либо из них старше одного месяца, создайте последний снапшот.
Во время обновления миграция данных и перезапуск узлов будут потреблять ресурсы кластера и увеличивать нагрузку. При включении этой опции CSS оценивает риски перегрузки кластера и снижает вероятность сбоя обновления кластера, вызванного перегрузкой.
Элементы проверки следующие:
Если любой из результатов аномален, дождитесь снижения нагрузки или активно оптимизируйте её перед выполнением обновления.
Увеличение параллелизма миграции данных может ускорить процесс обновления, но более быстрая миграция приводит к более высокому использованию I/O. Более высокий параллелизм, вероятно, приведёт к большей нагрузке на кластер, что может повлиять на производительность кластера. Рекомендуется оставить значение по умолчанию 1. Значение не должно превышать половину количества узлов данных.
Если проверка обновления не удалась, информация об ошибке отображается в правом верхнем углу консоли. Скорректируйте конфигурацию кластера соответствующим образом и повторите попытку.
Рисунок 1 Ошибки проверки обновления

Когда Task Status в списке задач ниже меняется на Successful, обновление считается завершённым.
В списке кластеров найдите целевой кластер и проверьте версию кластера в столбце Version, чтобы увидеть, успешно ли выполнено обновление.
На странице обновления вы можете проверить текущую задачу обновления в области Upgrade Records, чтобы узнать прогресс и статус задачи.
Разверните список задач и нажмите View Progress, чтобы проверить прогресс обновления и статус узлов.
Если Task Status имеет значение Failed, вы можете повторить задачу или завершить её.
После завершения задачи обновления узлы, которым не удалось обновиться, останутся в текущем состоянии, тогда как узлы, успешно прошедшие обновление, не будут откатываться к старой версии. В результате узлы в одном кластере могут иметь разные версии. Рекомендуется как можно скорее перезапустить обновление после устранения соответствующих проблем, обеспечив одинаковую версию на всех узлах.