nl2go.clickhouse

构建状态 GitHub标签(最新日期) Ansible Galaxy Ansible Galaxy质量评分 Ansible Galaxy下载量

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
许可证
mit
下载
4.9k