Update

Instructions for updating on CentOS 7
Important! Do not disable the standard firewall-cmd. The installation script uses it for self-configuration. Do not use the command yum update fastor. Install or update using the script below.

If you have a large amount of incoming data, before updating it is recommended to:

Stop receivers:

fastor-stop

Wait for database insertions to finish:

clickhouse-client --query="select * from system.processes sp where sp.query like 'insert into%'" | wc -l

Stop the database:

fastor-db-stop

Run the script fastor-rpm_install.sh:

source <(curl https://vasexperts.ru/install/fastor-rpm_install.sh)

In some systems, the database may start very slowly (from several minutes to tens of minutes, especially in systems with long data retention), and during the update an error like ERROR: while updating DB scheme may occur. Wait for the database to start. You can check the startup status using tail logs located at /var/log/clickhouse-server/clickhouse-server.log, or try to start the clickhouse-client — if a connection is established, the database has started and is ready for connections. After the database starts, run the command fastor-db-scheme This ensures that the schema is updated in case it didn’t complete due to a long database restart.

Update on CentOS 7

Attention! This instruction is relevant only for CentOS 7. If you are using CentOS 8 or VEOS, ignore this instruction.

Due to certain limitations in ClickHouse, it was necessary to modify the dependencies of the fastor package. These changes ensure proper operation on CentOS 8 and VEOS, but may cause issues on CentOS 7 due to unresolved dependencies.

Step-by-step guide

Step 1. If you have large data volumes, before updating it is recommended to:

Stop receivers:

fastor-stop

Wait for database insertions to finish:

clickhouse-client --query="select * from system.processes sp where sp.query like 'insert into%'" | wc -l

Stop the database:

fastor-db-stop

Step 2. Clear the yum cache:

yum clean all

Step 3. Run the installation script to update repositories:

source <(curl https://vasexperts.ru/install/fastor-rpm_install.sh)
The script will not complete successfully. The output will contain errors indicating that ClickHouse dependencies cannot be resolved.

Step 4. Check the output of the command:

rpm -qa | grep clickhouse

If the listed packages have different states:

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

then remove these packages:

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

Step 5. Update ClickHouse:

yum install clickhouse-common-static-24.2.2.71 clickhouse-server-24.2.2.71 clickhouse-client-24.2.2.71
The package versions must match those specified in the command.

Step 6. If the file /usr/lib/systemd/system/clickhouse-server.service contains the parameter TimeoutStartSec=0, remove it. This affects ClickHouse startup on CentOS 7.

Then execute the command:

systemctl daemon-reload

Step 7. Install the latest version of fastor:

yum install fastor

Step 8. Restart ClickHouse in recovery mode:

fastor-db-restart-repair

Step 9. Update the database schema:

fastor-db-scheme

Step 10. Restore the .env file:

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

Step 11. Restart receivers:

fastor-restart