nl2go.clickhouse
Ansible Rolle: ClickHouse
Eine Ansible Rolle, die die Installation und Konfiguration von ClickHouse verwaltet.
Rollenvariablen
Verfügbare Variablen sind unten aufgeführt, zusammen mit den Standardwerten (siehe defaults/main.yml
):
clickhouse_conf_dir: /etc/clickhouse-server
Server-Konfigurationsverzeichnis.
clickhouse_loglevel: information
Server Protokollierungsstufe.
clickhouse_profiles:
default:
max_memory_usage: 10000000000
use_uncompressed_cache: 0
load_balancing: "random"
Ein Einstellungsprofil ist eine Sammlung von Einstellungen, die unter demselben Namen gruppiert sind.
clickhouse_profiles:
default:
password: "qwerty"
profile: "default"
quota: "default"
Der Abschnitt users
der user.xml
Konfigurationsdatei enthält Benutzer-Einstellungen.
clickhouse_profiles:
default:
intervals:
- duration: 3600
queries: 0
errors: 0
result_rows: 0
read_rows: 0
execution_time: 0
Quota-Einstellungen dienen der Begrenzung der Ressourcennutzung über einen bestimmten Zeitraum oder zur Verfolgung der Ressourcennutzung.
clickhouse_databases:
- these_metrics
- other_metrics
- imported_data
clickhouse_databases ist eine Liste der Datenbanken, die Sie in ClickHouse erstellen möchten.
clickhouse_zookeeper_hosts:
- 1.2.3.4
- 1.2.3.5
clickhouse_zookeeper_hosts ist die Liste der Zookeeper-Knoten, zu denen ClickHouse eine Verbindung herstellen wird. Dies wird für die Replikation benötigt.
clickhouse_zookeeper_port: 2181
clickhouse_zookeeper_port ist der Port der Zookeeper-Knoten, zu denen ClickHouse eine Verbindung herstellen wird. Dies wird für die Replikation benötigt.
Zu Debugging-Zwecken ist es besser, zunächst nur mit einem Host zu beginnen und dann weitere Hosts hinzuzufügen.
clickhouse_zookeeper_credentials im Format username:password
wird zur Authentifizierung bei Zookeeper verwendet.
clickhouse_path: Pfad zu dem Verzeichnis, in dem ClickHouse Daten speichert.
clickhouse_log_directory: Pfad zu den Fehler- und normalen Protokollen.
clickhouse_clusters: ist die Liste der Cluster und enthält auch die Shards, die Teil jedes Clusters sind.
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 }
Für die Datei macros.xml müssen Sie die folgenden Variablen ausfüllen:
clickhouse_cluster: ist der Name des Clusters, der für die Replikation verwendet wird.
clickhouse_distributed_cluster: ist der Name des verteilten Clusters, der in clickhouse_clusters definiert ist.
clickhouse_shard: ist die Shard-Nummer (01, 02), die Teil der Replikation innerhalb eines Shards ist.
Abhängigkeiten
Keine.
Beispiel-Playbook
- hosts: all
roles:
- nl2go.clickhouse
Entwicklung
Verwenden Sie docker-molecule und folgen Sie den Anweisungen, um Molecule auszuführen oder installieren Sie Molecule lokal (nicht empfohlen, Versionskonflikte können auftreten).
Stellen Sie das Hetzner Cloud Token bereit:
export HCLOUD_TOKEN=123abc456efg
Verwenden Sie Folgendes, um Tests durchzuführen:
molecule test --all
Maintainer
Lizenz
Siehe die Datei LICENSE.md für Details.
Autoreninformationen
Diese Rolle wurde 2020 von Sendinblue GmbH erstellt.
An Ansible Role that manages installation and configuration of Yandex Clickhouse
ansible-galaxy install nl2go.clickhouse