mirror of
https://github.com/ClickHouse/ClickHouse.git
synced 2024-11-25 09:02:00 +00:00
50 lines
5.5 KiB
Markdown
50 lines
5.5 KiB
Markdown
# Конфигурационные файлы {#configuration_files}
|
||
|
||
Основной конфигурационный файл сервера - `config.xml`. Он расположен в директории `/etc/clickhouse-server/`.
|
||
|
||
Отдельные настройки могут быть переопределены в файлах `*.xml` и `*.conf` из директории `config.d` рядом с конфигом.
|
||
|
||
У элементов этих конфигурационных файлов могут быть указаны атрибуты `replace` или `remove`.
|
||
|
||
Если ни один не указан - объединить содержимое элементов рекурсивно с заменой значений совпадающих детей.
|
||
|
||
Если указано `replace` - заменить весь элемент на указанный.
|
||
|
||
Если указано `remove` - удалить элемент.
|
||
|
||
Также в конфиге могут быть указаны «подстановки». Если у элемента присутствует атрибут `incl`, то в качестве значения будет использована соответствующая подстановка из файла. По умолчанию, путь к файлу с подстановками - `/etc/metrika.xml`. Он может быть изменён в конфигурации сервера в элементе [include_from](server-configuration-parameters/settings.md#server_configuration_parameters-include_from). Значения подстановок указываются в элементах `/yandex/имя_подстановки` этого файла. Если подстановка, заданная в `incl` отсутствует, то в лог попадает соответствующая запись. Чтобы ClickHouse не писал в лог об отсутствии подстановки, необходимо указать атрибут `optional="true"` (например, настройка [macros](server-configuration-parameters/settings.md)).
|
||
|
||
Подстановки могут также выполняться из ZooKeeper. Для этого укажите у элемента атрибут `from_zk = "/path/to/node"`. Значение элемента заменится на содержимое узла `/path/to/node` в ZooKeeper. В ZooKeeper-узел также можно положить целое XML-поддерево, оно будет целиком вставлено в исходный элемент.
|
||
|
||
В элементе `users_config` файла `config.xml` можно указать относительный путь к конфигурационному файлу с настройками пользователей, профилей и квот. Значение `users_config` по умолчанию — `users.xml`. Если `users_config` не указан, то настройки пользователей, профилей и квот можно задать непосредственно в `config.xml`.
|
||
|
||
Настройки пользователя могут быть разделены в несколько отдельных файлов аналогичных `config.xml` и `config.d\`. Имя директории задаётся также как `users_config`.
|
||
Имя директории задаётся так же, как имя файла в `users_config`, с подстановкой `.d` вместо `.xml`.
|
||
Директория `users.d` используется по умолчанию, также как `users.xml` используется для `users_config`.
|
||
Например, можно иметь по отдельному конфигурационному файлу для каждого пользователя:
|
||
|
||
``` bash
|
||
$ cat /etc/clickhouse-server/users.d/alice.xml
|
||
```
|
||
|
||
``` xml
|
||
<yandex>
|
||
<users>
|
||
<alice>
|
||
<profile>analytics</profile>
|
||
<networks>
|
||
<ip>::/0</ip>
|
||
</networks>
|
||
<password_sha256_hex>...</password_sha256_hex>
|
||
<quota>analytics</quota>
|
||
</alice>
|
||
</users>
|
||
</yandex>
|
||
```
|
||
|
||
Для каждого конфигурационного файла, сервер при запуске генерирует также файлы `file-preprocessed.xml`. Эти файлы содержат все выполненные подстановки и переопределения, и предназначены для информационных целей. Если в конфигурационных файлах были использованы ZooKeeper-подстановки, но при старте сервера ZooKeeper недоступен, то сервер загрузит конфигурацию из preprocessed-файла.
|
||
|
||
Сервер следит за изменениями конфигурационных файлов, а также файлов и ZooKeeper-узлов, которые были использованы при выполнении подстановок и переопределений, и перезагружает настройки пользователей и кластеров на лету. То есть, можно изменять кластера, пользователей и их настройки без перезапуска сервера.
|
||
|
||
[Оригинальная статья](https://clickhouse.tech/docs/ru/operations/configuration_files/) <!--hide-->
|