clickhouse
Ansible Роль: ClickHouse
Ansible роль, которая управляет установкой и настройкой ClickHouse.
Переменные роли
Доступные переменные указаны ниже с их значениями по умолчанию (см. defaults/main.yml
):
clickhouse_conf_dir: /etc/clickhouse-server
Каталог конфигурации сервера.
clickhouse_loglevel: information
Уровень ведения журналов сервера.
clickhouse_profiles:
default:
max_memory_usage: 10000000000
use_uncompressed_cache: 0
load_balancing: "random"
Профиль настроек — это сборище настроек, сгруппированных под одним названием.
clickhouse_profiles:
default:
password: "qwerty"
profile: "default"
quota: "default"
Раздел users
файла конфигурации user.xml
содержит настроеки пользователей.
clickhouse_profiles:
default:
intervals:
- duration: 3600
queries: 0
errors: 0
result_rows: 0
read_rows: 0
execution_time: 0
Настройки квоты предназначены для ограничения использования ресурсов в течение определённого времени или отслеживания использования ресурсов.
clickhouse_databases:
- these_metrics
- other_metrics
- imported_data
clickhouse_databases — это список баз данных, которые вы хотите создать в ClickHouse.
clickhouse_zookeeper_hosts:
- 1.2.3.4
- 1.2.3.5
clickhouse_zookeeper_hosts — это список узлов zookeeper, к которым будет подключаться ClickHouse. Это необходимо для репликации.
clickhouse_zookeeper_port: 2181
clickhouse_zookeeper_port — это порт узлов zookeeper, к которым будет подключаться ClickHouse. Это необходимо для репликации.
Для целей отладки лучше всего начать с одного узла, а затем добавлять дополнительные узлы.
clickhouse_zookeeper_credentials в формате username:password
используется для аутентификации в Zookeeper.
clickhouse_path: Путь к каталогу, в котором ClickHouse будет хранить данные.
clickhouse_log_directory: Путь для ошибок и обычных логов.
clickhouse_clusters: это список кластеров и также содержит шард, который является частью каждого кластера.
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 }
Для файла macros.xml вам нужно заполнить следующие переменные:
clickhouse_cluster: это имя кластера, которое используется для репликации.
clickhouse_distributed_cluster: это имя распределенного кластера, определенного в clickhouse_clusters.
clickhouse_shard: это номер шарда (01, 02), который является частью репликации внутри одного шарда.
Зависимости
Нет.
Пример плейбука
- hosts: all
roles:
- nl2go.clickhouse
Разработка
Используйте docker-molecule согласно инструкциям, чтобы запустить Molecule или установите Molecule локально (не рекомендуется, могут возникнуть конфликты версий).
Предоставьте токен Hetzner Cloud:
export HCLOUD_TOKEN=123abc456efg
Используйте следующее для запуска тестов:
molecule test --all
Содержатели
Лицензия
Смотрите файл LICENSE.md для подробностей.
Информация об авторе
Эта роль была создана в 2020 году компанией Sendinblue GmbH.
An Ansible Role that manages installation and configuration of Yandex Clickhouse
ansible-galaxy install nl2go/ansible-role-clickhouse