- Оригинальный адрес:Rolling upgrades
- Оригинальный автор:elastic.
- Перевод с:Программа перевода самородков
- Постоянная ссылка на эту статью:GitHub.com/rare earth/gold-no…
- Переводчик:code4j
- Корректор:Xekin-FE, ClarenceC
Последовательное обновление Elasticsearch
Последовательные обновления позволяют кластеру Elasticsearch обновлять узел без перерыва в работе. Одновременный запуск нескольких версий не поддерживается в кластере, поскольку сегменты не распределяются из новой версии на узлы старой версии.
из этого спискаtableПроверьте, поддерживает ли текущая версия ES непрерывное обновление.
Шаги непрерывного обновления следующие:
Шаг 1. Шаги непрерывного обновления следующие:
Когда вы закрываете узел, процесс выделения осколков пытается немедленно скопировать осколки с текущего узла на другие узлы в кластере, что приводит к большому количеству ненужных операций ввода-вывода. Чтобы избежать этой проблемы, вы можете отключить этот процесс перед выключением узла.
PUT /_cluster/settings
{
"transient": {
"cluster.routing.allocation.enable": "none"
}
}
Шаг 2. Остановите ненужные индексы и выполните синхронное обновление (этот шаг не является обязательным)
Конечно, вы можете успешно индексировать во время обновления, если вы используете следующие команды, чтобы остановить ненужное индексирование и выполнить синхронное обновление.synced-flushзапрос, восстановление шарда будет быстрее:
POST /_flush/synced
Синхронное обновление — это вишенка на торте. Если индекс зависнет, операция завершится ошибкой, и для безопасности необходимо несколько раз попробовать.
Шаг 3: Один узел отключен и обновлен
Перед обновлениемВыключите узел.
Примечание. При использовании пакета zip или tar для обновления конфигурация, данные, журнал, плагины и другие каталоги в домашнем каталоге Elasticsearch будут перезаписаны по умолчанию. Лучше всего разархивировать в другой каталог, чтобы исходный каталог не был удален во время обновления. Доступ к пользовательским каталогам можно получить через path.conf и path.data.настраивать. Пакеты RPM или DEB поместят каталог вПодходящее место
использоватьrpm/deb) установочный пакет обновления:
- использовать
rpm
илиdpkg
Установите новый пакет, и все каталоги будут размещены на своих местах, файлы конфигурации не будут перезаписаны.
Разархивируйте установку с помощью пакета zip или tar:
- Разархивируйте установочный пакет, убедитесь, что он не перезаписан
config
иdata
содержание. - Скопировать из старого каталога установки
conf
каталог в новый каталог установки или используйте--path.conf
options во внешний каталог конфигурации - Скопировать из старого каталога установки
data
каталог в новый каталог установки или изменитьconfig/elasticsearch.yml
серединаpath.data
Установите каталог данных в исходный каталог.
Шаг 4: Запустите обновленный узел
Запустите обновленный узел и подтвердите присоединение к кластеру, что можно подтвердить с помощью журнала или следующей команды:
GET _cat/nodes
Шаг 5. Повторно откройте балансировку сегментов.
Как только узел снова присоединится к кластеру, разблокируйте процесс выделения сегментов и перебалансируйте:
PUT /_cluster/settings
{
"transient": {
"cluster.routing.allocation.enable": "all"
}
}
Шаг 6: Подождите, пока узел вернется в нормальное состояние
Дождитесь завершения балансировки сегментов кластера, прежде чем обновлять следующий узел. Этот процесс можно использовать_cat/health
Проверка команды:
GET _cat/health
Подожди покаstatus
Этот столбец состоит изyellow
статьgreen
, Зеленый цвет означает, что были выделены как первичные сегменты, так и реплики.
Важно: во время последовательного обновления основной сегмент более высокой версии не будет назначать реплики узлам более ранней версии, поскольку формат данных более высокой версии не распознается старой версией. Если первичный шард с более высокой версией не может выделить реплику, другими словами, если в кластере остался только один узел с более высокой версией, узел останется неназначенным, а работоспособность кластера сохранится
yellow
. В этом случае проверьте, выполняется ли инициализация или выделение осколков. После завершения обновления другого узла сегменты будут выделены, а состояние кластера будет восстановлено доgreen
.
не использовалОбновление синхронизацииВремя восстановления осколка будет медленнее. Доступ к состоянию шарда можно получить через_cat/recovery
Мониторинг запросов:
GET _cat/recovery
Если вы остановите операцию индексации до этого, ее можно будет безопасно перезапустить после завершения восстановления узла.
Шаг 7: Повторите вышеуказанные шаги
Когда кластер станет стабильным и узлы снова заработают, повторите описанный выше процесс для оставшихся узлов.
Программа перевода самородковэто сообщество, которое переводит высококачественные технические статьи из Интернета сНаггетсДелитесь статьями на английском языке на . Охват контентаAndroid,iOS,внешний интерфейс,задняя часть,блокчейн,продукт,дизайн,искусственный интеллекти другие поля, если вы хотите видеть больше качественных переводов, пожалуйста, продолжайте обращать вниманиеПрограмма перевода самородков,официальный Вейбо,Знай колонку.