Ввиду определённых ограничений в ClickHouse, необходимо было внести изменения в зависимости нашего пакета fastor. Эти изменения позволили обеспечить корректную работу пакета на операционных системах CentOS 8 и VEOS, но могут вызвать проблемы на CentOS 7 из-за невозможности обработки указанных зависимостей.
Шаг 1. Если у вас принимаются большие объемы данных, перед обновлением рекомендуется:
fastor-stop
clickhouse-client --query="select * from system.processes sp where sp.query like 'insert into%'" | wc -l
fastor-db-stop
Шаг 2. Очистить кеш yum:
yum clean all
Шаг 3. Выполнить скрипт инсталляции, чтобы обновить репозитории:
source <(curl https://vasexperts.ru/install/fastor-rpm_install.sh)
Шаг 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