Estos ajustes configuran el servidor de ClickHouse y se han generado automáticamente a partir del código fuente de ClickHouse.
zookeeper
Contiene ajustes que permiten a ClickHouse interactuar con un clúster de ZooKeeper. ClickHouse usa ZooKeeper para almacenar los metadatos de las réplicas cuando se utilizan tablas replicadas. Si no se usan tablas replicadas, esta sección de parámetros puede omitirse.
Los siguientes ajustes se pueden configurar mediante subtags:
| Setting | Description |
|---|---|
node |
Endpoint de ZooKeeper. Puede configurar varios endpoints. Por ejemplo: <node index="1"><host>example_host</host><port>2181</port></node>. El atributo index especifica el orden de los nodos al intentar conectarse al clúster de ZooKeeper. |
operation_timeout_ms |
Tiempo de espera máximo para una operación, en milisegundos. |
session_timeout_ms |
Tiempo de espera máximo para la sesión del cliente, en milisegundos. |
root (optional) |
El znode que se usa como raíz para los znodes utilizados por el servidor ClickHouse. |
fallback_session_lifetime.min (optional) |
Límite mínimo para la duración de una sesión de ZooKeeper con el nodo de fallback cuando el primario no está disponible (load-balancing). Se establece en segundos. Valor predeterminado: 3 horas. |
fallback_session_lifetime.max (optional) |
Límite máximo para la duración de una sesión de ZooKeeper con el nodo de fallback cuando el primario no está disponible (load-balancing). Se establece en segundos. Valor predeterminado: 6 horas. |
identity (optional) |
Usuario y contraseña requeridos por ZooKeeper para acceder a los znodes solicitados. |
use_compression (optional) |
Habilita la compresión en el protocolo Keeper si se establece en true. |
use_xid_64 (optional) |
Habilita los ID de transacción de 64 bits. Establézcalo en true para habilitar el formato ampliado de ID de transacción. Valor predeterminado: false. |
pass_opentelemetry_tracing_context (optional) |
Habilita la propagación del contexto de tracing de OpenTelemetry a las solicitudes de Keeper. Cuando está habilitado, se crearán spans de tracing para las operaciones de Keeper, lo que permite el trazado distribuido entre ClickHouse y Keeper. Consulte Tracing ClickHouse Keeper Requests para obtener más detalles. Valor predeterminado: false. |
También existe el ajuste zookeeper_load_balancing (opcional), que le permite seleccionar el algoritmo para la selección de nodos de ZooKeeper:
| Algorithm Name | Description |
|---|---|
random |
selecciona aleatoriamente uno de los nodos de ZooKeeper. |
in_order |
selecciona el primer nodo de ZooKeeper; si no está disponible, selecciona el segundo, y así sucesivamente. |
nearest_hostname |
selecciona un nodo de ZooKeeper cuyo hostname sea lo más parecido posible al hostname del servidor; el hostname se compara con el prefijo del nombre. |
hostname_levenshtein_distance |
igual que nearest_hostname, pero compara el hostname mediante la distancia de Levenshtein. |
first_or_random |
selecciona el primer nodo de ZooKeeper; si no está disponible, selecciona aleatoriamente uno de los nodos de ZooKeeper restantes. |
round_robin |
selecciona el primer nodo de ZooKeeper; si se produce una reconexión, selecciona el siguiente. |
Configuración de ejemplo
<zookeeper>
<node>
<host>example1</host>
<port>2181</port>
</node>
<node>
<host>example2</host>
<port>2181</port>
</node>
<session_timeout_ms>30000</session_timeout_ms>
<operation_timeout_ms>10000</operation_timeout_ms>
<!-- Optional. Chroot suffix. Should exist. -->
<root>/path/to/zookeeper/node</root>
<!-- Optional. Zookeeper digest ACL string. -->
<identity>user:password</identity>
<!--<zookeeper_load_balancing>random / in_order / nearest_hostname / hostname_levenshtein_distance / first_or_random / round_robin</zookeeper_load_balancing>-->
<zookeeper_load_balancing>random</zookeeper_load_balancing>
<!-- Optional. Enable 64-bit transaction IDs. -->
<use_xid_64>false</use_xid_64>
<!-- Optional. Enable OpenTelemetry tracing context propagation. -->
<pass_opentelemetry_tracing_context>false</pass_opentelemetry_tracing_context>
</zookeeper>Véase también
- Replicación
- Guía del programador de ZooKeeper
- Comunicación segura opcional entre ClickHouse y ZooKeeper
zookeeper_log
Configuración de la tabla del sistema zookeeper_log.
La siguiente configuración se puede establecer mediante subetiquetas:
Los siguientes ajustes pueden configurarse mediante subetiquetas:
| Configuración | Descripción | Predeterminado | Nota |
|---|---|---|---|
database |
Nombre de la base de datos. | ||
table |
Nombre de la tabla del sistema. | ||
engine |
Definición del motor MergeTree para una tabla del sistema. | No puede usarse si se define partition_by u order_by. Si no se especifica, se selecciona MergeTree de forma predeterminada |
|
partition_by |
Clave de partición personalizada para una tabla del sistema. | Si se especifica engine para la tabla del sistema, el parámetro partition_by debe especificarse directamente dentro de 'engine' |
|
ttl |
Especifica el TTL de la tabla. | Si se especifica engine para la tabla del sistema, el parámetro ttl debe especificarse directamente dentro de 'engine' |
|
order_by |
Clave de ordenación personalizada para una tabla del sistema. No puede usarse si se define engine. |
Si se especifica engine para la tabla del sistema, el parámetro order_by debe especificarse directamente dentro de 'engine' |
|
storage_policy |
Nombre de la política de almacenamiento que se usará para la tabla (opcional). | Si se especifica engine para la tabla del sistema, el parámetro storage_policy debe especificarse directamente dentro de 'engine' |
|
settings |
Parámetros adicionales que controlan el comportamiento de MergeTree (opcional). | Si se especifica engine para la tabla del sistema, el parámetro settings debe especificarse directamente dentro de 'engine' |
|
flush_interval_milliseconds |
Intervalo para volcar los datos del búfer en memoria a la tabla. | 7500 |
|
max_size_rows |
Tamaño máximo, en líneas, de los registros. Cuando la cantidad de registros no volcados alcanza el tamaño máximo, los registros se vuelcan al disco. | 1048576 |
|
reserved_size_rows |
Tamaño de memoria preasignado, en líneas, para los registros. | 8192 |
|
buffer_size_rows_flush_threshold |
Umbral para la cantidad de líneas. Si se alcanza el umbral, el volcado de los registros al disco se inicia en segundo plano. | max_size_rows / 2 |
|
flush_on_crash |
Establece si los registros deben volcarse al disco en caso de fallo. | false |
Además, el siguiente ajuste a nivel de servidor controla la política de volcado predeterminada para todas las tablas de registros del sistema:
<default_system_log_flush_policy>
<skip_alias_columns>true</skip_alias_columns>
</default_system_log_flush_policy>| Configuración | Descripción | Predeterminado |
|---|---|---|
skip_alias_columns |
Cuando es true, las columnas ALIAS se omiten de los esquemas de las tablas de logs del sistema. Requerido para los logs del sistema respaldados por S3. |
false |
Ejemplo
<clickhouse>
<zookeeper_log>
<database>system</database>
<table>zookeeper_log</table>
<flush_interval_milliseconds>7500</flush_interval_milliseconds>
<ttl>event_date + INTERVAL 1 WEEK DELETE</ttl>
</zookeeper_log>
</clickhouse>