Skip to content

Latest commit

 

History

History
47 lines (47 loc) · 8.21 KB

basic_conf.md

File metadata and controls

47 lines (47 loc) · 8.21 KB

CLCK 02: Базовая конфигурация ClickHouse

Описание:

Теперь, когда ClickHouse уже установлен, мы можем более детально посмотреть на его конфигурацию. Основной конфигурационный файл - это config.xml, который расположен в папке по умолчанию /etc/clickhouse-server.

Любые изменения можно вносить сразу в этот файл, либо создать отдельный файл конфигурации и положить его в папку /etc/clickhouse-server/config.d/. В этом случае данные отдельного конфига перепишут значения по-умолчанию. Помимо этого кликхаус для части параметров может обновлять их значения на лету - достаточно всего лишь обновить параметр в файле и кликхаус применит его. Давайте рассмотрим некоторые ключевые параметры:

<http_port>/<https_port>

Порт для обращений к серверу по протоколу HTTP(s). При использовании https нужна конфигурация openSSL.

Пример: <https_port>9999</https_port> <http_port>8123</http_port>

<tcp_port>

Порт для общения с клиентами по TCP протоколу. Здесь стоит отметить, что кликхаус поддерживает два режима подключений - по http и по бинарному протоколу. Очевидно, что общение по бинарному протоколу идет быстрее чем по http, но http наиболее распространен и его очень легко интегрировать в ваше приложение для чтения и записи данных, поэтому определяющим фактором выбора протокола (как чаще всего и бывает) будет именно скорость внедрения в ваши сервисы.

Пример: <tcp_port>9000</tcp_port>

<interserver_http_port>

Порт для обмена репликационными данными с серверами ClickHouse.

Пример: <interserver_http_port>9009</interserver_http_port>

<listen_host>

На каких хостах слушать входящие подключения.

Примеры: <listen_host>::</listen_host> — сервер слушает все адреса. <listen_host>::1</listen_host> — сервер слушает ipv6 localhost. <listen_host>127.0.0.1</listen_host> — сервер слушает только запросы с localhost. <listen_host>0.0.0.0</listen_host> — сервер слушает все запросы с ipv4 адресов.

<max_connections>

Максимальное количество входящих соединений.

Примеры: <max_connections>4096</max_connections>

<max_concurrent_queries>

Максимальное количество одновременно обрабатываемых запросов. Очень важный параметр, поскольку иногда быстрее обработать 100 запросов последовательно с максимальным параллелизом 10 штук, нежели пытаться обработать сразу все 100 запросов в параллель.

Примеры: <max_concurrent_queries>100</max_concurrent_queries>

<users_config>

Путь к файлу, который отвечает за конфигурацию пользователей, права, профили и квоты. Мы затронем эту тему в следующем задании.

Пример: <users_config>users.xml</users_config>

<http_server_default_response>

Контент, который возвращается при обращении к HTTP(s) серверу. По умолчанию сервер отдает "Ok." Таким образом вы сможете настроить базовую проверку доступности вашего кликхаус сервера - если подключение на http порт удалось и сервер вернул код ответа 200 - значит он по крайней мере запущен.

Пример: <http_server_default_response>Success!</http_server_default_response>

Путь к данным ClickHouse. Завершающий слеш обязателен. На самом деле данный путь вам понадобится либо при создании бекапов, либо при восстановлении после сбоя. Мы не рекомендуем менять дефолтное расположение, чтобы не сбивать с толку других участников команды поддержки. Если же вы хотите вынести ваши данные на более быстрые диски - то есть смысл подмонтировать их напрямую в /var/lib/clickhouse.

Пример: <path>/var/lib/clickhouse/</path>

Здесь были выделены только основные пункты конфигурации ClickHouse, все возможные опции вы можете найти здесь. Часть из них мы будем обсуждать в следующих заданиях при настройке соответствующих функций.

В завершении хотелось бы отметить, что если вы хотите переопределить какие-либо настройки, то есть смысл записать их в отдельный файл в директорию /etc/clickhouse-server/config.d/. Например, вы можете создать файл my-config.xml по пути /etc/clickhouse-server/config.d/my-config.xml, который переопределяет http port, который будет слушать сервер.

<?xml version="1.0"?>
<yandex>
 <http_port>8663</http_port>
</yandex>

Мы советуем использовать этот функционал по максимому и переопределять настройки КХ в отдельных файлах, тогда у вас не возникнет проблем с обновлением сервера - дефолтная конфигурация может быть легко перезаписана, поскольку все изменения вы вынесли в отдельные файлы.

Полезные ссылки: