nl2go.clickhouse
Rola Ansible: ClickHouse
Rola Ansible, która zarządza instalacją i konfiguracją ClickHouse.
Zmienne roli
Dostępne zmienne są wymienione poniżej wraz z wartościami domyślnymi (patrz defaults/main.yml
):
clickhouse_conf_dir: /etc/clickhouse-server
Katalog konfiguracyjny serwera.
clickhouse_loglevel: information
Poziom logowania dla serwera.
clickhouse_profiles:
default:
max_memory_usage: 10000000000
use_uncompressed_cache: 0
load_balancing: "random"
Profil ustawień to zbiór ustawień pogrupowanych pod tą samą nazwą.
clickhouse_profiles:
default:
password: "qwerty"
profile: "default"
quota: "default"
Sekcja users
w pliku konfiguracyjnym user.xml
zawiera ustawienia użytkowników.
clickhouse_profiles:
default:
intervals:
- duration: 3600
queries: 0
errors: 0
result_rows: 0
read_rows: 0
execution_time: 0
Ustawienia kwoty służą do ograniczenia użycia zasobów w danym czasie lub śledzenia ich użycia.
clickhouse_databases:
- these_metrics
- other_metrics
- imported_data
clickhouse_databases to lista baz danych, które chcesz utworzyć w ClickHouse.
clickhouse_zookeeper_hosts:
- 1.2.3.4
- 1.2.3.5
clickhouse_zookeeper_hosts to lista węzłów ZooKeeper, z którymi ClickHouse będzie się łączył. Będzie to potrzebne do replikacji.
clickhouse_zookeeper_port: 2181
clickhouse_zookeeper_port to port węzłów ZooKeeper, z którymi ClickHouse będzie się łączył. Będzie to potrzebne do replikacji.
Dla celów debugowania lepiej zacząć z jednym hostem, a potem dodać więcej.
clickhouse_zookeeper_credentials w formacie username:password
jest używane do uwierzytelniania w ZooKeeper.
clickhouse_path: Ścieżka do katalogu, w którym ClickHouse będzie przechowywał dane.
clickhouse_log_directory: Ścieżka do katalogów z logami błędów oraz normalnymi.
clickhouse_clusters: to lista klastrów, która zawiera także fragmenty (shardy) będące częścią każdego klastra.
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 }
W przypadku pliku macros.xml musisz wypełnić poniższe zmienne:
clickhouse_cluster: to nazwa klastra używana do replikacji.
clickhouse_distributed_cluster: to nazwa klastra rozproszonego zdefiniowana w clickhouse_clusters.
clickhouse_shard: to numer fragmentu (01, 02), który jest częścią replikacji wewnątrz jednego fragmentu.
Zależności
Brak.
Przykład Playbooka
- hosts: all
roles:
- nl2go.clickhouse
Rozwój
Użyj docker-molecule zgodnie z instrukcją, aby uruchomić Molecule lub zainstaluj Molecule lokalnie (niezalecane, mogą wystąpić konflikty wersji).
Podaj token Hetzner Cloud:
export HCLOUD_TOKEN=123abc456efg
Użyj poniższego polecenia, aby uruchomić testy:
molecule test --all
Utrzymujący
Licencja
Zobacz plik LICENSE.md po szczegóły.
Informacje o autorze
Ta rola została stworzona w 2020 roku przez Sendinblue GmbH.
An Ansible Role that manages installation and configuration of Yandex Clickhouse
ansible-galaxy install nl2go.clickhouse