Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

ajustes del servidor para zookeeper_*

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

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>
Navigation