nl2go.clickhouse

État de la construction Tag GitHub (dernier par date) Ansible Galaxy Score de qualité Ansible Galaxy Téléchargements Ansible Galaxy

Rôle Ansible : ClickHouse

Un rôle Ansible qui gère l'installation et la configuration de ClickHouse.

Variables du rôle

Voici les variables disponibles avec leurs valeurs par défaut (voir le fichier defaults/main.yml) :

clickhouse_conf_dir: /etc/clickhouse-server

Répertoire de configuration du serveur.

clickhouse_loglevel: information

Niveau de journalisation du serveur.

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

Un profil de paramètres est un ensemble de paramètres regroupés sous le même nom.

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

La section users du fichier de configuration user.xml contient des paramètres pour les utilisateurs.

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

Les paramètres de quota servent à limiter l'utilisation des ressources sur une période donnée ou à suivre l'utilisation des ressources.

clickhouse_databases:
  - these_metrics
  - other_metrics
  - imported_data

clickhouse_databases est une liste des bases de données que vous souhaitez créer dans ClickHouse.

clickhouse_zookeeper_hosts:
  - 1.2.3.4
  - 1.2.3.5

clickhouse_zookeeper_hosts est la liste des nœuds Zookeeper auxquels ClickHouse se connectera. Vous en aurez besoin pour la réplication.

clickhouse_zookeeper_port: 2181

clickhouse_zookeeper_port est le port des nœuds Zookeeper auxquels ClickHouse se connectera. Vous en aurez besoin pour la réplication.

Pour le débogage, il est préférable de commencer par un seul hôte et d’ajouter ensuite d’autres hôtes.

clickhouse_zookeeper_credentials au format username:password est utilisé pour s'authentifier auprès de Zookeeper.

clickhouse_path : Chemin vers le répertoire où ClickHouse stockera les données.

clickhouse_log_directory : Chemin vers les journaux d'erreurs et normaux.

clickhouse_clusters : Liste des clusters et contient également les shards qui font partie de chaque cluster.

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 }

Pour le fichier macros.xml, vous devez remplir les variables ci-dessous :

clickhouse_cluster : est le nom du cluster utilisé pour la réplication.

clickhouse_distributed_cluster : est le nom du cluster distribué défini dans clickhouse_clusters.

clickhouse_shard : est le numéro de shard (01, 02) qui fait partie de la réplication à l'intérieur d'un shard.

Dépendances

Aucune.

Exemple de Playbook

- hosts: all
  roles:
    - nl2go.clickhouse

Développement

Utilisez docker-molecule en suivant les instructions pour exécuter Molecule ou installez Molecule localement (non recommandé, des conflits de version peuvent apparaître).

Fournissez le jeton Hetzner Cloud :

export HCLOUD_TOKEN=123abc456efg

Utilisez ce qui suit pour exécuter les tests :

molecule test --all

Mainteneurs

Licence

Voir le fichier LICENSE.md pour plus de détails.

Informations sur l'auteur

Ce rôle a été créé en 2020 par Sendinblue GmbH.

À propos du projet

An Ansible Role that manages installation and configuration of Yandex Clickhouse

Installer
ansible-galaxy install nl2go.clickhouse
Licence
mit
Téléchargements
4.9k
Propriétaire