nl2go.clickhouse

Estado de construcción
Etiqueta de GitHub (última por fecha)
Ansible Galaxy
Puntuación de Calidad de Ansible Galaxy
Descargas de Ansible Galaxy

Rol de Ansible: ClickHouse

Un rol de Ansible que gestiona la instalación y configuración de ClickHouse.

Variables del Rol

Las variables disponibles se enumeran a continuación, junto con los valores predeterminados (ver defaults/main.yml):

clickhouse_conf_dir: /etc/clickhouse-server

Directorio de configuración del servidor.

clickhouse_loglevel: information

Nivel de registro del servidor.

clickhouse_profiles:
  default:
    max_memory_usage: 10000000000
    use_uncompressed_cache: 0
    load_balancing: "random"

Un perfil de configuración es una colección de configuraciones agrupadas bajo el mismo nombre.

clickhouse_profiles:
  default:
    password: "qwerty"
    profile: "default"
    quota: "default"

La sección users del archivo de configuración user.xml contiene la configuración de los usuarios.

clickhouse_profiles:
  default:
    intervals:
      - duration: 3600
        queries: 0
        errors: 0
        result_rows: 0
        read_rows: 0
        execution_time: 0

La configuración de cuota es para limitar el uso de recursos durante un período de tiempo o rastrear el uso de recursos.

clickhouse_databases:
  - these_metrics
  - other_metrics
  - imported_data

clickhouse_databases es una lista de las bases de datos que deseas crear en ClickHouse.

clickhouse_zookeeper_hosts:
  - 1.2.3.4
  - 1.2.3.5

clickhouse_zookeeper_hosts es la lista de nodos de Zookeeper a los que ClickHouse se conectará. Necesitarás esto para la replicación.

clickhouse_zookeeper_port: 2181

clickhouse_zookeeper_port es el puerto de los nodos de Zookeeper a los que ClickHouse se conectará. Necesitarás esto para la replicación.

Para fines de depuración, es mejor comenzar con un solo host y luego agregar más hosts.

clickhouse_zookeeper_credentials en el formato username:password se utiliza para autenticar contra Zookeeper.

clickhouse_path: Ruta al directorio donde ClickHouse almacenará datos.

clickhouse_log_directory: Ruta para los registros de errores y normales.

clickhouse_clusters: es la lista de clústeres que también contiene los fragmentos que son parte de cada clúster.

clickhouse_clusters:
  distributed_cluster_1:
    shard1:
      - { host: "host_1", port: 9000 }
      - { host: "host_2", port: 9000 }
    shard2:
      - { host: "host_3", port: 9000 }
      - { host: "host_4", port: 9000 }
  distributed_cluster_2:
    shard1:
      - { host: "host_5", port: 9000 }
      - { host: "host_6", port: 9000 }
    shard2:
      - { host: "host_7", port: 9000 }
      - { host: "host_8", port: 9000 }

Para el archivo macros.xml, necesitas completar las variables a continuación:

clickhouse_cluster: es el nombre del clúster que se usa para replicación.

clickhouse_distributed_cluster: es el nombre del clúster distribuido definido en clickhouse_clusters.

clickhouse_shard: es el número de fragmento (01, 02) que es parte de la replicación dentro de un fragmento.

Dependencias

Ninguna.

Ejemplo de Playbook

- hosts: all
  roles:
    - nl2go.clickhouse

Desarrollo

Usa docker-molecule siguiendo las instrucciones para ejecutar Molecule
o instala Molecule localmente (no recomendado, podrían aparecer conflictos de versiones).

Proporciona el token de Hetzner Cloud:

export HCLOUD_TOKEN=123abc456efg

Usa lo siguiente para ejecutar pruebas:

molecule test --all

Mantenedores

Licencia

Consulta el archivo LICENSE.md para más detalles.

Información del Autor

Este rol fue creado en 2020 por Sendinblue GmbH.

Acerca del proyecto

An Ansible Role that manages installation and configuration of Yandex Clickhouse

Instalar
ansible-galaxy install nl2go.clickhouse
Licencia
mit
Descargas
4.9k
Propietario