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ノードのポートです。レプリケーションに必要です。
デバッグの目的で、最初は1つのホストから始めて、後で追加するのが良いでしょう。
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: 1つのシャード内のレプリケーションに関与するシャード番号(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.clickhouse