Содержание
Настройка ClickHouse для Glaber
Создаём дополнительные файлы настройки с отключением лишних функций
Задаём ограничение времени хранения логов
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>
Отключаем thread log
nano /etc/clickhouse-server/config.d/disable_query_thread_log.xml
<yandex> <query_thread_log remove="1"/> </yandex>
Отключаем встроенные метрики Clickhouse
Если хотим мониторить его параметры внешним мониторингом
nano /etc/clickhouse-server/config.d/disable_metric_logs.xml
<yandex> <metric_log remove="1" /> <asynchronous_metric_log remove="1" /> </yandex>
Отключаем part_log
nano /etc/clickhouse-server/config.d/part_log.xml
<yandex> <part_log remove="1" /> </yandex>
Включаем log queries
В новых версиях 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