Инструменты пользователя

Инструменты сайта


flip:glaber:setting_up_clickhouse_for_glaber

Настройка 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

Источники

flip/glaber/setting_up_clickhouse_for_glaber.txt · Последнее изменение: 2024/11/21 09:10 — flip

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki