Ансибл роль для установки Clickhouse и Zookeper
Копируем роль: https://github.com/dpvpro/ansible-clickhouse-dp Настраиваем хосты в ansible_hosts:
1 2 3 4 5 |
[clickhouse] host0.example.org ansible_host=host0.example.org ansible_user=root zookeeper_id=1 host1.example.org ansible_host=host1.example.org ansible_user=root zookeeper_id=2 host2.example.org ansible_host=host2.example.org ansible_user=root zookeeper_id=3 host3.example.org ansible_host=host3.example.org ansible_user=root zookeeper_id=4 |
Запускаем роль командой:
1 |
ansible-playbook -i ansible_hosts click.yaml |
Далее заходим на любой хост с Clickhouse и запускаем:
1 |
clickhouse-client |
Запускаем команды для заведения БД, таблицы и тестовых данных:
1 2 3 4 5 6 7 8 9 10 11 |
CREATE DATABASE test; CREATE TABLE test.Migrations ( date Date DEFAULT toDate(now()), id UInt64, time UInt64) ENGINE = ReplicatedMergeTree('/clickhouse/tables/{shard}/test/Migrations', '{replica}', date, (id, time), 8192); INSERT INTO test.Migrations (date) VALUES (689); INSERT INTO test.Migrations (date) VALUES (6896); INSERT INTO test.Migrations (date) VALUES (6898); INSERT INTO test.Migrations (date) VALUES (68999); INSERT INTO test.Migrations (date) VALUES (689345); SELECT * from test.Migrations |
На всех остальных нодах входящих в кластер, создаем только БД и таблицу:
1 2 3 4 5 |
CREATE DATABASE test; CREATE TABLE test.Migrations ( date Date DEFAULT toDate(now()), id UInt64, time UInt64) ENGINE = ReplicatedMergeTree('/clickhouse/tables/{shard}/test/Migrations', '{replica}', date, (id, time), 8192); SELECT * from test.Migrations |
Должны быть выведены реплицированные данные, т.е. задача выполнена.