Сервисы координации в Managed Service for ClickHouse®
Сервис координации — это сервис, который управляет согласованностью между узлами кластера, обеспечивает репликацию данных и выполнение распределенных DDL-запросов.
В Managed Service for ClickHouse® доступны следующие сервисы координации:
- ClickHouse® Keeper на отдельных хостах (по умолчанию);
- ClickHouse® Keeper встроенный.
Важно
Хосты обоих сервисов учитываются в расчете использованной квоты ресурсов
После выбора сервиса координации его нельзя отключить, но можно перейти на другой сервис координации. Доступны следующие варианты перехода:
- со встроенного ClickHouse® Keeper на ClickHouse® Keeper на отдельных хостах;
- с ZooKeeper на ClickHouse® Keeper на отдельных хостах.
С отключенным сервисом координации вы можете создать кластер только из одного хоста или нескольких однохостовых шардов.
Выбор сервиса координации
Выбор между сервисами ClickHouse® Keeper зависит от сценария использования:
- Встроенный ClickHouse® Keeper размещается на хостах ClickHouse® и подходит для тестирования или приложений с низкой нагрузкой.
- ClickHouse® Keeper на отдельных хостах подходит для стабильных версий приложений и приложений с высокой нагрузкой.
ClickHouse® Keeper
ClickHouse® Keeper — решение ClickHouse®, которое обеспечивает согласованность чтения и записи данных. ClickHouse® Keeper реализует совместимый с ZooKeeper клиент-серверный протокол, поэтому для взаимодействия с ним можно использовать любой стандартный клиент ZooKeeper. Однако снимки, журналы и межсерверный протокол ClickHouse® Keeper несовместимы с ZooKeeper, поэтому использование хостов ClickHouse® Keeper и ZooKeeper в одном кластере невозможно.
Подробнее о ClickHouse® Keeper читайте в документации ClickHouse®
В Managed Service for ClickHouse® сервис координации ClickHouse® Keeper доступен в следующих режимах:
-
ClickHouse Keeper (встроенный) — ClickHouse® Keeper размещается на хостах ClickHouse®. Для обеспечения репликации кластер должен состоять из трех или более хостов ClickHouse®.
Этот режим недоступен для кластеров с двумя и более хостами в Production-окружении.
-
ClickHouse Keeper (на отдельных хостах) — ClickHouse® Keeper размещается на отдельных хостах. Для обеспечения репликации кластер должен состоять из двух и более хостов ClickHouse®, а также включать три или пять хостов ClickHouse® Keeper.
Если вы создаете кластер из двух и более хостов ClickHouse® на шард и в сети кластера есть подсети в каждой зоне доступности, три хоста ClickHouse® Keeper будут добавлены автоматически, по одному в каждую подсеть. Если подсети есть только в некоторых зонах доступности, настройки хостов ClickHouse® Keeper нужно указывать вручную.
Включить сервис координации ClickHouse® Keeper можно:
- При создании кластера — как встроенный, так и на отдельных хостах.
- Во время изменения кластера, если кластер создан без сервиса координации или со встроенным ClickHouse® Keeper — только на отдельных хостах.
ClickHouse® Keeper невозможно выключить после создания кластера.
ZooKeeper
Важно
Начиная с 1 сентября 2026 года создание новых кластеров с сервисом координации ZooKeeper будет недоступно. Существующие кластеры будут поддерживаться до 1 февраля 2028 года, после чего они будут переведены на сервис координации ClickHouse® Keeper.
ZooKeeper — один из первых сервисов координации с открытым исходным кодом. В отличие от ClickHouse® Keeper он обеспечивает только согласованность записи данных, но не чтения.
Подробнее о ZooKeeper читайте в документации ZooKeeper
Сервис координации ZooKeeper размещается на отдельных хостах. Для обеспечения репликации в кластере Managed Service for ClickHouse® должно быть три или пять хостов ZooKeeper.
Минимальное количество ядер для одного хоста ZooKeeper зависит от суммарного количества ядер хостов ClickHouse®:
| Суммарное количество ядер хостов ClickHouse® | Минимальное количество ядер для одного хоста ZooKeeper |
|---|---|
| Менее 48 | 2 |
| 48 и более | 4 |
Класс хостов и размер хранилища ZooKeeper можно изменить при изменении настроек кластера. Изменение настроек ZooKeeper и подключение к его хостам не поддерживается.
Включить сервис координации ZooKeeper можно:
- при создании кластера;
- во время изменения кластера, если кластер создан без сервиса координации.
После включения ZooKeeper он не может быть отключен.
ClickHouse® является зарегистрированным товарным знаком ClickHouse, Inc