В 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.17.1(2.17.1_24.3.4_0109) версии 2.17.1. (Номера версий, использованные здесь, являются только примерами.) |
Перед обновлением кластера необходимо оценить потенциальные воздействия и изучить операционные рекомендации. Это позволяет правильно спланировать время обновления, обеспечить плавный процесс обновления и минимизировать прерывания сервиса.
Узлы кластера обновляются по одному, чтобы обеспечить непрерывность сервиса. Однако перенос данных, происходящий во время обновления, потребляет I/O‑производительность, и вывод отдельных узлов из сети всё равно оказывает некоторое влияние на общую производительность кластера.
Чтобы минимизировать это влияние, рекомендуется регулировать скорость переноса данных в зависимости от цикла нагрузки кластера: увеличивать скорость переноса данных в часы непика, чтобы сократить длительность задачи, и уменьшать её до пиковые часы приходят, чтобы обеспечить оптимальную производительность кластера. Скорость миграции данных определяется indices.recovery.max_bytes_per_sec параметр. По умолчанию значение этого параметра равно количеству vCPU, умноженному на 32 МБ. Например, для четырёх vCPU скорость миграции данных составляет 128 МБ. Установите этот параметр в диапазоне от 40 МБ до 1000 МБ в зависимости от требований вашей службы.
PUT /_cluster/settings{"transient": {"indices.recovery.max_bytes_per_sec": "1000MB"}}
Во время обновления узлы обновляются по одному. Запросы, отправленные на узел, который обновляется, могут завершиться ошибкой. Чтобы смягчить это влияние, можно принять следующие меры:
OpenSearch Dashboards и Cerebro будут перестроены во время обновления, что сделает их временно недоступными. Кроме того, из‑за проблем совместимости разных версий OpenSearch Dashboards может стать недоступным во время обновления. Эти проблемы исчезнут после завершения обновления.
После запуска задачу обновления нельзя остановить, пока она не завершится успешно или не завершится с ошибкой. Сбой обновления влияет только на один узел и не прерывает сервисы, если существуют реплики данных. При необходимости вы можете восстановить узел, который не удалось обновить, выполнив Replacing Specified Nodes for an OpenSearch Cluster.
Следующая формула может быть использована для оценки продолжительности обновления кластера:
Продолжительность обновления (мин) = 15 (мин) x Общее количество узлов для обновления + Продолжительность миграции данных (мин)
где,
Продолжительность миграции данных (мин) = Общий размер данных (МБ)/[Общее количество vCPU узлов данных x 32 (МБ/с) x 60 (с) x Конкурентность]
где,
Приведённые выше формулы используют оценки при идеальных условиях. На практике рекомендуется добавить 20 %–30 % избыточности.
Чтобы обеспечить успешное обновление, необходимо проверить элементы, перечисленные в таблице ниже, перед выполнением обновления.
Элемент проверки | Метод проверки | Описание | Нормальный статус |
|---|---|---|---|
Статус кластера | Проверка системы | После запуска задачи обновления система автоматически проверяет статус кластера. Кластеры, статус которых зелёный или жёлтый могут работать правильно и не иметь нераспределённых первичных шардов. | Кластер доступен и нет текущих задач. |
Количество узлов | Проверка системы | После запуска задачи обновления система автоматически проверяет количество узлов. Чтобы обеспечить непрерывность обслуживания, для кластера в каждом из его AZ должно быть не менее двух узлов каждого типа. Для кластера с master nodes должно быть не менее двух data nodes. Для кластера без master nodes общее количество data nodes и cold data nodes должно быть не менее трёх. |
|
Объём диска | Системная проверка | После запуска задачи обновления система автоматически проверяет объём диска. Во время обновления узлы выводятся из сети по одному, после чего создаются новые узлы. Убедитесь, что общий объём диска оставшихся узлов достаточен для обработки всех данных кластера и что использование диска узлов остаётся ниже 80% | После вывода из сети отдельного узла общий объём диска оставшихся узлов достаточен для обработки всех данных кластера, и использование диска узлов остаётся ниже 80% |
Реплики данных | Системная проверка | Проверьте, что оставшиеся data‑узлы и cold‑data‑узлы могут обрабатывать максимальное количество primary‑ и standby‑шардов индексов в кластере. Во время обновления не должно быть нераспределённых реплик | Количество data‑узлов + Количество cold‑data‑узлов > Максимальное количество реплик индексов + 1 |
Бэкап данных | Системная проверка | Перед обновлением сделайте бэкап данных, чтобы предотвратить потерю данных, вызванную сбоями обновления. При отправке задачи обновления вы можете выбрать, проверять ли полные снимки индекса. | Проверьте, был ли сделан бэкап данных. |
Ресурсы | Системная проверка | После запуска задачи обновления система автоматически проверяет ресурсы. Ресурсы будут созданы во время обновления. Убедитесь, что ресурсы доступны. | Ресурсы доступны и достаточны. |
Пользовательские плагины | Системная и ручная проверка | Выполняйте эту проверку только в том случае, если пользовательские плагины установлены в исходном кластере. Если в кластере есть пользовательский плагин, загрузите все пакеты плагинов целевой версии на странице управления плагинами перед обновлением. Во время обновления установите пользовательский плагин на новые узлы. В противном случае пользовательские плагины будут потеряны после успешного обновления кластера. После запуска задачи обновления система автоматически проверяет, был ли загружен пакет пользовательского плагина, но вам необходимо проверить, корректен ли загруженный пакет плагина. ПРИМЕЧАНИЕ: Если загруженный пакет плагина неверен или несовместим, пакет плагина не может быть автоматически установлен во время обновления. В результате задача обновления завершается неудачно. Чтобы восстановить кластер, вы можете завершить задачу обновления и восстановить узел, который не удалось обновить, выполнив Замена указанных узлов в кластере OpenSearch. После завершения обновления статус пользовательского плагина сбрасывается на Загружено. | Пакет плагина кластера, который будет обновлен, загружен в список плагинов. |
Пользовательские конфигурации | Системная проверка | Во время обновления система автоматически синхронизирует содержимое файла конфигурации кластера opensearch.yml. | Пользовательские конфигурации кластеров не теряются после обновления. |
Нестандартные операции | Ручная проверка | Проверьте, были ли в кластере выполнены нестандартные операции. Нестандартные операции относятся к ручным действиям, которые не фиксируются. Эти операции не могут быть автоматически перенесены во время обновления, например, изменение opensearch_dashboards.yml файл конфигурации, настройки системы и обратные маршруты. | Некоторые нестандартные операции совместимы. Например, изменение плагина безопасности может быть сохранено через метаданные, а изменение системной конфигурации может быть сохранено с помощью образов. Некоторые нестандартные операции, такие как изменение opensearch_dashboards.yml файл, не может быть сохранён, и вы должны заранее создать резервную копию файла. |
Проверка совместимости | Системная и ручная проверка | После начала задачи перекрестного обновления версии система автоматически проверяет, есть ли несовместимые конфигурации между исходной и целевой версиями. Если для кластера установлен пользовательский плагин, совместимость версии пользовательского плагина необходимо проверять вручную. | Конфигурации до и после кросс-версионного обновления совместимы. |
Проверка загрузки Кластера | Система и ручная проверка | Если Кластер сильно загружен, существует высокая вероятность того, что обновление зависнет или завершится неудачей. Рекомендуется проверять загрузку Кластера перед обновлением и выполнять обновление только в непиковые часы. Вы также можете выбрать проверку загрузки Кластера при настройке информации об обновлении. |
|
При создании задачи обновления вы можете выбрать проверку, была ли полная индексация данных сохранена с помощью снапшотов. Это помогает предотвратить потерю данных в случае сбоя обновления.
Параметр | Описание |
|---|---|
Upgrade Type | Выберите тип обновления.
|
Target Image | Образ целевой версии. При выборе образа отображаются имя образа и детали целевой версии. Поддерживаемые целевые версии отображаются в раскрывающемся списке Target Image. Если целевой образ недоступен, возможные причины следующие:
|
При включении CSS проверяет действительные снапшоты, сопоставляя индексы по имени. Снапшоты помогают предотвратить потенциальную потерю данных, вызванную сбоями обновления.
CSS не может проверить содержание или время бэкапа снапшотов. Вам следует вручную проверить существующие снапшоты. Если какой‑либо из них старше одного месяца, создайте последний снапшот.
Во время обновления миграция данных и перезапуск узлов будут потреблять ресурсы кластера и увеличивать нагрузку. Когда эта опция включена, CSS оценивает риски перегрузки кластера и снижает вероятность сбоя обновления кластера, вызванного перегрузкой.
Элементы проверки следующие:
Если какой-либо результат аномален, дождитесь снижения нагрузки или активно оптимизируйте её перед выполнением обновления.
Повышение параллельности миграции данных может ускорить процесс обновления, но более быстрая миграция данных приводит к более высокому использованию I/O. Более высокая параллельность, вероятно, приведет к более высокой нагрузке на кластер, что может сказаться на производительности кластера. Рекомендуется оставить значение по умолчанию 1. Значение не должно превышать половину количества узлов данных.
Если проверка обновления не проходит, информация об ошибке отображается в правом верхнем углу консоли. Скорректируйте конфигурацию кластера соответственно и попробуйте еще раз.
Figure 1 Upgrade check errors

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