nl2go.clickhouse
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.
An Ansible Role that manages installation and configuration of Yandex Clickhouse
ansible-galaxy install nl2go.clickhouse