Обзор обновления ClickHouse
- общие рекомендации
- рекомендуемый план
- особенности обновления бинарных файлов в используемых вами системах
Общие рекомендации
Обновляйте сервер ClickHouse отдельно от ClickHouse Keeper или ZooKeeper
Минорные версии следует обновлять как можно чаще
Тестируйте экспериментальные возможности на отдельном сервере ClickHouse с целевой версией
Понижение версии
Несколько версий сервера ClickHouse в кластере
- кластер может не работать
- некоторые (или даже все) запросы могут завершаться произвольными ошибками
- в журналах могут появляться произвольные ошибки/предупреждения
- может оказаться невозможно понизить версию
Поэтапные обновления
- Выполнить обновление с простоем (остановить все серверы, обновить все серверы, запустить все серверы).
- Либо выполнить обновление через промежуточную версию (версию, выпущенную менее чем через год после текущей версии).
Рекомендуемый план
- Убедитесь, что изменения конфигурации вносятся не в файл
/etc/clickhouse-server/config.xmlпо умолчанию, а в/etc/clickhouse-server/config.d/, поскольку во время обновления файл/etc/clickhouse-server/config.xmlможет быть перезаписан. - Просмотрите changelogs на предмет несовместимых изменений (от целевого релиза до релиза, который вы используете сейчас).
- Внесите все изменения, указанные в списке несовместимых изменений, которые можно сделать до обновления, и составьте список изменений, которые потребуется внести после обновления.
- Определите одну или несколько реплик для каждого сегмента, которые останутся в работе, пока остальные реплики каждого сегмента будут обновляться.
- На репликах, которые будут обновляться, по одной за раз:
- остановите сервер ClickHouse
- обновите сервер до целевой версии
- запустите сервер ClickHouse
- дождитесь, пока сообщения Keeper покажут, что система стабильна
- переходите к следующей реплике6. Проверьте наличие ошибок в журнале Keeper и журнале ClickHouse
- Обновите реплики, определённые на шаге 4, до новой версии
- Обратитесь к списку изменений, составленному на шагах 1–3, и внесите изменения, которые нужно выполнить после обновления.
Это сообщение об ошибке ожидаемо, когда в реплицируемой среде одновременно работают несколько версий ClickHouse. Вы перестанете видеть такие сообщения, когда все реплики будут обновлены до одной и той же версии.
Процесс обновления бинарного файла сервера ClickHouse
deb, выполните на сервере следующие команды:
deb, используйте подходящий способ обновления.
Вы можете обновлять несколько серверов одновременно, если не допускаете ситуации, когда все реплики одного сегмента одновременно находятся офлайн.
xx.yy.a.b — текущая стабильная версия. Последнюю стабильную версию можно найти здесь