Обновление на CentOS 7

Внимание! Данная инструкция актуальна только для CentOS 7. Если у вас CentOS 8 или VEOS, игнорируйте эту инструкцию.

Ввиду определённых ограничений в ClickHouse, необходимо было внести изменения в зависимости нашего пакета fastor. Эти изменения позволили обеспечить корректную работу пакета на операционных системах CentOS 8 и VEOS, но могут вызвать проблемы на CentOS 7 из-за невозможности обработки указанных зависимостей.

Пошаговая инструкция

Шаг 1. Если у вас принимаются большие объемы данных, перед обновлением рекомендуется:

  1. Остановить ресиверы:
    fastor-stop
  2. Дождаться завершения вставок в БД:
    clickhouse-client --query="select * from system.processes sp where sp.query like 'insert into%'" | wc -l
  3. Остановить БД:
    fastor-db-stop

Шаг 2. Очистить кеш yum:

yum clean all

Шаг 3. Выполнить скрипт инсталляции, чтобы обновить репозитории:

source <(curl https://vasexperts.ru/install/fastor-rpm_install.sh)
Скрипт не будет выполнен до конца. В выводе скрипта будут содержаться ошибки о том, что невозможно разрешить зависимости ClickHouse.

Шаг 4. Проверить вывод команды:

rpm -qa | grep clickhouse

Если в выводе у всех пакетов разное состояние:

clickhouse-client-23.4.2.11-1.x86_64 
clickhouse-server-23.4.2.11-1.x86_64 
clickhouse-common-static-23.4.2.11-1.x86_64

то нужно удалить эти пакеты:

rpm -e fastor clickhouse-client-23.4.2.11-1.x86_64 clickhouse-server-23.4.2.11-1.x86_64 clickhouse-common-static-23.4.2.11-1.x86_64

Шаг 5. Обновить ClickHouse:

yum install clickhouse-common-static-24.2.2.71 clickhouse-server-24.2.2.71 clickhouse-client-24.2.2.71
Версии пакетов должны быть такими же, как в указанной команде

Шаг 6. Если в файле /usr/lib/systemd/system/clickhouse-server.service содержится параметр TimeoutStartSec=0 — нужно его убрать. Это влияет на запуск ClickHouse на CentOS 7.

Затем выполнить команду

systemctl daemon-reload

Шаг 7. Установить последнюю версию fastor:

yum install fastor

Шаг 8. Перезапустить СlickHouse в режиме восстановления:

fastor-db-restart-repair

Шаг 9. Обновить схему БД:

fastor-db-scheme

Шаг 10. Восстановить .env файл:

mv "/var/qoestor/backend/.env.rpmsave" "/var/qoestor/backend/.env"

Шаг 11. Перезапустить ресиверы:

fastor-restart