nano /etc/clickhouse-server/config.d/query_log.xml
<yandex> <query_log replace="1"> <database>system</database> <table>query_log</table> <flush_interval_milliseconds>7500</flush_interval_milliseconds> <engine> ENGINE = MergeTree PARTITION BY event_date ORDER BY (event_time) TTL event_date + interval 90 day SETTINGS ttl_only_drop_parts=1 </engine> </query_log> </yandex>
nano /etc/clickhouse-server/config.d/disable_query_thread_log.xml
<yandex> <query_thread_log remove="1"/> </yandex>
Если хотим мониторить его параметры внешним мониторингом
nano /etc/clickhouse-server/config.d/disable_metric_logs.xml
<yandex> <metric_log remove="1" /> <asynchronous_metric_log remove="1" /> </yandex>
nano /etc/clickhouse-server/config.d/part_log.xml
<yandex> <part_log remove="1" /> </yandex>
В новых версиях Clickhouse включен по-умолчанию
nano /etc/clickhouse-server/users.d/log_queries.xml
<yandex> <profiles> <default> <log_queries>1</log_queries> </default> </profiles> </yandex>
nano /etc/clickhouse-server/users.d/enable_on_disk_operations.xml
<yandex> <profiles> <default> <max_bytes_before_external_group_by>2000000000</max_bytes_before_external_group_by> <max_bytes_before_external_sort>2000000000</max_bytes_before_external_sort> </default> </profiles> </yandex>
Стоит учитывать, что объемы данных могут быть очень большими, поэтому зачастую нужно реализовывать миграцию данных по частям (по партициям, по таблицам)
Настройте, путь куда сервер будет бекапить данные. Для этого нужно создать файл /etc/clickhouse-server/config.d/backup_disk.xml с содержимым, указывающим место в файловой системе, куда будут попадать бекапы (в данном случае /backups/)
nano /etc/clickhouse-server/config.d/backup_disk.xml
<clickhouse> <storage_configuration> <disks> <backups> <type>local</type> <path>/backups/</path> </backups> </disks> </storage_configuration> <backups> <allowed_disk>backups</allowed_disk> <allowed_path>/backups/</allowed_path> </backups> </clickhouse>
Подключитесь к Clickhouse. В самом простом случае, подключиться к серверу можно командой clickhouse client выполнив её локально на той же машине на которой запущен clickhouse. Далее выполните бекап командой:
BACKUP DATABASE glaber TO Disk('backups', 'glaber.zip')
Настройте путь для работы с бекапами аналогично на сервере, на котором будут восстанавливаться данные, скопируйте в этот путь файл с бекапом и восстановите базу предварительно удалив существующую в случае её наличия:
DROP DATABASE glaber RESTORE DATABASE glaber FROM Disk('backups', 'glaber.zip')
Перезапуск ClickHouse сервера
systemctl restart clickhouse-server
Проверить статус ClickHouse сервера
systemctl status clickhouse-server