Merge pull request #29078 from Slach/docs_add_distributed_ddl

add distributed_ddl description, sync EN with RU version
This commit is contained in:
tavplubix 2021-09-19 16:16:35 +03:00 committed by GitHub
commit 40b1b5ed0e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 196 additions and 24 deletions

View File

@ -110,7 +110,7 @@ Load key from environment variable:
</encryption_codecs>
```
Where current_key_id sets the current key for encryption, and all specified keys can be used for decryption.
Where `current_key_id` sets the current key for encryption, and all specified keys can be used for decryption.
All this methods can be applied for multiple keys:
@ -182,6 +182,7 @@ Default value: `1073741824` (1 GB).
<size_limit>1073741824</size_limit>
</core_dump>
```
## database_atomic_delay_before_drop_table_sec {#database_atomic_delay_before_drop_table_sec}
Sets the delay before remove table data in seconds. If the query has `SYNC` modifier, this setting is ignored.
@ -861,7 +862,7 @@ Use the following parameters to configure logging:
The path to the directory containing data.
!!! note "Note"
!!! warning "Warning"
The trailing slash is mandatory.
**Example**
@ -950,9 +951,9 @@ If the table does not exist, ClickHouse will create it. If the structure of the
## query_views_log {#server_configuration_parameters-query_views_log}
Setting for logging views dependant of queries received with the [log_query_views=1](../../operations/settings/settings.md#settings-log-query-views) setting.
Setting for logging views (live, materialized etc) dependant of queries received with the [log_query_views=1](../../operations/settings/settings.md#settings-log-query-views) setting.
Queries are logged in the [system.query_views_log](../../operations/system-tables/query_thread_log.md#system_tables-query_views_log) table, not in a separate file. You can change the name of the table in the `table` parameter (see below).
Queries are logged in the [system.query_views_log](../../operations/system-tables/query_views_log.md#system_tables-query_views_log) table, not in a separate file. You can change the name of the table in the `table` parameter (see below).
Use the following parameters to configure logging:
@ -1030,8 +1031,7 @@ The default server configuration file `config.xml` contains the following settin
Regexp-based rules, which will be applied to queries as well as all log messages before storing them in server logs,
`system.query_log`, `system.text_log`, `system.processes` tables, and in logs sent to the client. That allows preventing
sensitive data leakage from SQL queries (like names, emails, personal
identifiers or credit card numbers) to logs.
sensitive data leakage from SQL queries (like names, emails, personal identifiers or credit card numbers) to logs.
**Example**
@ -1129,7 +1129,7 @@ Example
Path to temporary data for processing large queries.
!!! note "Note"
!!! warning "Note"
The trailing slash is mandatory.
**Example**
@ -1146,9 +1146,9 @@ If not set, [tmp_path](#tmp-path) is used, otherwise it is ignored.
!!! note "Note"
- `move_factor` is ignored.
- `keep_free_space_bytes` is ignored.
- `max_data_part_size_bytes` is ignored.
- Уou must have exactly one volume in that policy.
- `keep_free_space_bytes` is ignored.
- `max_data_part_size_bytes` is ignored.
- Уou must have exactly one volume in that policy.
## uncompressed_cache_size {#server-settings-uncompressed_cache_size}
@ -1212,9 +1212,10 @@ This section contains the following parameters:
The `index` attribute specifies the node order when trying to connect to the ZooKeeper cluster.
- `session_timeout` — Maximum timeout for the client session in milliseconds.
- `root` — The [znode](http://zookeeper.apache.org/doc/r3.5.5/zookeeperOver.html#Nodes+and+ephemeral+nodes) that is used as the root for znodes used by the ClickHouse server. Optional.
- `identity` — User and password, that can be required by ZooKeeper to give access to requested znodes. Optional.
- `session_timeout_ms` — Maximum timeout for the client session in milliseconds.
- `operation_timeout_ms` — Maximum timeout for one operation in milliseconds.
- `root` — The [znode](http://zookeeper.apache.org/doc/r3.5.5/zookeeperOver.html#Nodes+and+ephemeral+nodes) that is used as the root for znodes used by the ClickHouse server. Optional.
- `identity` — User and password, that can be required by ZooKeeper to give access to requested znodes. Optional.
**Example configuration**
@ -1288,6 +1289,39 @@ The update is performed asynchronously, in a separate system thread.
- [background_schedule_pool_size](../../operations/settings/settings.md#background_schedule_pool_size)
## distributed_ddl {#server-settings-distributed_ddl}
Manage executing [distributed ddl queries](../../sql-reference/distributed-ddl.md) (CREATE, DROP, ALTER, RENAME) on cluster.
Works only if [ZooKeeper](#server-settings_zookeeper) is enabled.
**Example**
```xml
<distributed_ddl>
<!-- Path in ZooKeeper to queue with DDL queries -->
<path>/clickhouse/task_queue/ddl</path>
<!-- Settings from this profile will be used to execute DDL queries -->
<profile>default</profile>
<!-- Controls how much ON CLUSTER queries can be run simultaneously. -->
<pool_size>1</pool_size>
<!--
Cleanup settings (active tasks will not be removed)
-->
<!-- Controls task TTL (default 1 week) -->
<task_max_lifetime>604800</task_max_lifetime>
<!-- Controls how often cleanup should be performed (in seconds) -->
<cleanup_delay_period>60</cleanup_delay_period>
<!-- Controls how many tasks could be in the queue -->
<max_tasks_in_queue>1000</max_tasks_in_queue>
</distributed_ddl>
```
## access_control_path {#access_control_path}
Path to a folder where a ClickHouse server stores user and role configurations created by SQL commands.
@ -1296,7 +1330,7 @@ Default value: `/var/lib/clickhouse/access/`.
**See also**
- [Access Control and Account Management](../../operations/access-rights.md#access-control)
- [Access Control and Account Management](../../operations/access-rights.md#access-control)
## user_directories {#user_directories}

View File

@ -69,6 +69,85 @@ ClickHouse проверяет условия для `min_part_size` и `min_part
</compression>
```
## encryption {#server-settings-encryption}
Настраивает комманду для получения ключа используемого [кодеками шифрования](../../sql-reference/statements/create/table.md#create-query-encryption-codecs). Ключ (или несколько ключей) должны быть записаны в переменные окружения или установлены в конфигурационном файле .
Ключи могут быть представлены в шестнадцатеричной или строковой форме. Их длинна должна быть равна 16.
**Пример**
Загрузка из файла конфигурации:
```xml
<encryption_codecs>
<aes_128_gcm_siv>
<key>12345567812345678</key>
</aes_128_gcm_siv>
</encryption_codecs>
```
!!! note "Примечание"
Хранение ключей в конфигурационном файле не рекомендовано. Это не безопасно. Вы можете переместить ключи в отдельный файл на секретном диске и сделать symlink к этому конфигурационному файлу в папке `config.d/`.
Загрузка из файла конфигурации, когда ключ представлен в шестнадцатеричной форме:
```xml
<encryption_codecs>
<aes_128_gcm_siv>
<key_hex>00112233445566778899aabbccddeeff</key_hex>
</aes_128_gcm_siv>
</encryption_codecs>
```
Загрузка ключа из переменной окружения:
```xml
<encryption_codecs>
<aes_128_gcm_siv>
<key_hex from_env="KEY"></key_hex>
</aes_128_gcm_siv>
</encryption_codecs>
```
Параметр `current_key_id` устанавливает текущий ключ для шифрования, и все указанные ключи можно использовать для расшифровки.
Все эти методы могут быть применены для нескольких ключей:
```xml
<encryption_codecs>
<aes_128_gcm_siv>
<key_hex id="0">00112233445566778899aabbccddeeff</key_hex>
<key_hex id="1" from_env=".."></key_hex>
<current_key_id>1</current_key_id>
</aes_128_gcm_siv>
</encryption_codecs>
```
Параметр `current_key_id` указывает текущий ключ для шифрования.
Также пользователь может добавить одноразовое случайное число длинной 12 байт (по умолчанию шифрование и дешифровка будут использовать одноразовое число длинной 12 байт, заполненное нулями):
```xml
<encryption_codecs>
<aes_128_gcm_siv>
<nonce>0123456789101</nonce>
</aes_128_gcm_siv>
</encryption_codecs>
```
Одноразовое число также может быть представлено в шестнадцатеричной форме:
```xml
<encryption_codecs>
<aes_128_gcm_siv>
<nonce_hex>abcdefabcdef</nonce_hex>
</aes_128_gcm_siv>
</encryption_codecs>
```
Все вышеперечисленное можно применить также для алгоритма `aes_256_gcm_siv` (но ключ должен быть длинной 32 байта).
## custom_settings_prefixes {#custom_settings_prefixes}
Список префиксов для [пользовательских настроек](../../operations/settings/index.md#custom_settings). Префиксы должны перечисляться через запятую.
@ -345,8 +424,6 @@ ClickHouse проверяет условия для `min_part_size` и `min_part
<interserver_https_host>example.yandex.ru</interserver_https_host>
```
## interserver_http_credentials {#server-settings-interserver-http-credentials}
Имя пользователя и пароль, использующиеся для аутентификации при [репликации](../../operations/server-configuration-parameters/settings.md) движками Replicated\*. Это имя пользователя и пароль используются только для взаимодействия между репликами кластера и никак не связаны с аутентификацией клиентов ClickHouse. Сервер проверяет совпадение имени и пароля для соединяющихся с ним реплик, а также использует это же имя и пароль для соединения с другими репликами. Соответственно, эти имя и пароль должны быть прописаны одинаковыми для всех реплик кластера.
@ -414,7 +491,7 @@ ClickHouse проверяет условия для `min_part_size` и `min_part
</logger>
```
Также, существует поддержка записи в syslog. Пример конфига:
Также, существует поддержка записи в syslog. Пример настроек:
``` xml
<logger>
@ -873,6 +950,33 @@ ClickHouse проверяет условия для `min_part_size` и `min_part
</query_thread_log>
```
## query_views_log {#server_configuration_parameters-query_views_log}
Настройки логирования информации о зависимых представлениях (materialized, live и т.п.) в запросах принятых с настройкой [log_query_views=1](../../operations/settings/settings.md#settings-log-query-views).
Запросы сохраняются в таблицу [system.query_views_log](../../operations/system-tables/query_views_log.md#system_tables-query_views_log). Вы можете изменить название этой таблицы в параметре `table` (см. ниже).
При настройке логирования используются следующие параметры:
- `database` имя базы данных.
- `table` имя таблицы куда будут записываться использованные представления.
- `partition_by` — устанавливает [произвольный ключ партиционирования](../../engines/table-engines/mergetree-family/custom-partitioning-key.md). Нельзя использовать если используется `engine`
- `engine` - устанавливает [настройки MergeTree Engine](../../engines/table-engines/mergetree-family/mergetree.md#table_engine-mergetree-creating-a-table) для системной таблицы. Нельзя использовать если используется `partition_by`.
- `flush_interval_milliseconds` — период сброса данных из буфера в памяти в таблицу.
Если таблица не существует, то ClickHouse создаст её. Если структура журнала запросов изменилась при обновлении сервера ClickHouse, то таблица со старой структурой переименовывается, а новая таблица создается автоматически.
**Example**
``` xml
<query_views_log>
<database>system</database>
<table>query_views_log</table>
<partition_by>toYYYYMM(event_date)</partition_by>
<flush_interval_milliseconds>7500</flush_interval_milliseconds>
</query_views_log>
```
## text_log {#server_configuration_parameters-text_log}
Настройка логирования текстовых сообщений в системную таблицу [text_log](../../operations/system-tables/text_log.md#system_tables-text_log).
@ -882,7 +986,7 @@ ClickHouse проверяет условия для `min_part_size` и `min_part
- `level` — Максимальный уровень сообщения (по умолчанию `Trace`) которое будет сохранено в таблице.
- `database` — имя базы данных для хранения таблицы.
- `table` — имя таблицы, куда будут записываться текстовые сообщения.
- `partition_by` — устанавливает [произвольный ключ партиционирования](../../operations/server-configuration-parameters/settings.md). Нельзя использовать если используется `engine`
- `partition_by` — устанавливает [произвольный ключ партиционирования](../../engines/table-engines/mergetree-family/custom-partitioning-key.md). Нельзя использовать если используется `engine`
- `engine` - устанавливает [настройки MergeTree Engine](../../engines/table-engines/mergetree-family/mergetree.md#table_engine-mergetree-creating-a-table) для системной таблицы. Нельзя использовать если используется `partition_by`.
- `flush_interval_milliseconds` — период сброса данных из буфера в памяти в таблицу.
@ -913,7 +1017,7 @@ Parameters:
- `engine` - устанавливает [настройки MergeTree Engine](../../engines/table-engines/mergetree-family/mergetree.md#table_engine-mergetree-creating-a-table) для системной таблицы. Нельзя использовать если используется `partition_by`.
- `flush_interval_milliseconds` — Interval for flushing data from the buffer in memory to the table.
The default server configuration file `config.xml` contains the following settings section:
По умолчанию файл настроек сервера `config.xml` содержит следующие настройки:
``` xml
<trace_log>
@ -1096,7 +1200,7 @@ ClickHouse использует ZooKeeper для хранения метадан
- `node` — адрес ноды (сервера) ZooKeeper. Можно сконфигурировать несколько нод.
Например:
Например:
<!-- -->
@ -1109,9 +1213,10 @@ ClickHouse использует ZooKeeper для хранения метадан
Атрибут `index` задает порядок опроса нод при попытках подключиться к кластеру ZooKeeper.
- `session_timeout` — максимальный таймаут клиентской сессии в миллисекундах.
- `root` — [znode](http://zookeeper.apache.org/doc/r3.5.5/zookeeperOver.html#Nodes+and+ephemeral+nodes), который используется как корневой для всех znode, которые использует сервер ClickHouse. Необязательный.
- `identity` — пользователь и пароль, которые может потребовать ZooKeeper для доступа к запрошенным znode. Необязательный.
- `session_timeout_ms` — максимальный таймаут клиентской сессии в миллисекундах.
- `operation_timeout_ms` — максимальный таймаут для одной операции в миллисекундах.
- `root` — [znode](http://zookeeper.apache.org/doc/r3.5.5/zookeeperOver.html#Nodes+and+ephemeral+nodes), который используется как корневой для всех znode, которые использует сервер ClickHouse. Необязательный.
- `identity` — пользователь и пароль, которые может потребовать ZooKeeper для доступа к запрошенным znode. Необязательный.
**Пример конфигурации**
@ -1185,6 +1290,39 @@ ClickHouse использует ZooKeeper для хранения метадан
- [background_schedule_pool_size](../settings/settings.md#background_schedule_pool_size)
## distributed_ddl {#server-settings-distributed_ddl}
Управление запуском [распределенных ddl запросов](../../sql-reference/distributed-ddl.md) (CREATE, DROP, ALTER, RENAME) в кластере.
Работает только если разрешена [работа с ZooKeeper](#server-settings_zookeeper).
**Пример**
```xml
<distributed_ddl>
<!-- Путь в ZooKeeper для очереди содержащей DDL запросы -->
<path>/clickhouse/task_queue/ddl</path>
<!-- Настройки из этого профиля будут использованы для запуска DDL запросов -->
<profile>default</profile>
<!-- Контроль того как много ON CLUSTER запросов могут исполняться одновременно. -->
<pool_size>1</pool_size>
<!--
Настройки очистки (активные задачи в очереди не будут удаляться)
-->
<!-- Время TTL для задач в секундах (по умолчанию 1 week) -->
<task_max_lifetime>604800</task_max_lifetime>
<!-- Как часто будет запускаться очистка данных (в секундах) -->
<cleanup_delay_period>60</cleanup_delay_period>
<!-- Как много задач может быть в очереди -->
<max_tasks_in_queue>1000</max_tasks_in_queue>
</distributed_ddl>
```
## access_control_path {#access_control_path}
Путь к каталогу, где сервер ClickHouse хранит конфигурации пользователей и ролей, созданные командами SQL.
@ -1193,7 +1331,7 @@ ClickHouse использует ZooKeeper для хранения метадан
**Смотрите также**
- [Управление доступом](../access-rights.md#access-control)
- [Управление доступом](../../operations/access-rights.md#access-control)
## user_directories {#user_directories}