nl2go.clickhouse
Ansible角色: ClickHouse
一个管理ClickHouse安装和配置的Ansible角色。
角色变量
以下是可用变量及其默认值(参见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"
user.xml
配置文件的users
部分包含用户设置。
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是ClickHouse将连接的zookeeper节点列表。您在进行复制时需要此信息。
clickhouse_zookeeper_port: 2181
clickhouse_zookeeper_port是ClickHouse将连接的zookeeper节点的端口。您在进行复制时需要此信息。
为了调试,最好先从一个主机开始,然后再添加更多主机。
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文件。
作者信息
此角色由Sendinblue GmbH于2020年创建。
An Ansible Role that manages installation and configuration of Yandex Clickhouse
ansible-galaxy install nl2go.clickhouse