[Документация Yandex Cloud](../../index.md) > [Yandex Managed Service for ClickHouse®](../index.md) > [Концепции](index.md) > Сервисы координации

# Сервисы координации в Managed Service for ClickHouse®

_Сервис координации_ — это сервис, который управляет согласованностью между узлами кластера, обеспечивает [репликацию](replication.md) данных и выполнение распределенных DDL-запросов.

В Managed Service for ClickHouse® доступны следующие сервисы координации:

* ClickHouse® Keeper встроенный;
* ClickHouse® Keeper на отдельных хостах;
* ZooKeeper.

{% note warning %}

После выбора сервиса координации сменить или отключить его невозможно. Хосты обоих сервисов учитываются в расчете использованной [квоты ресурсов](https://kz.console.yandex.cloud/cloud?section=quotas) в облаке и в [расчете стоимости](../pricing.md) кластера.

{% endnote %}

## Выбор сервиса координации {#coordination-system-selection}

Выбор между сервисами [ClickHouse® Keeper](#ck) зависит от сценария использования:

* Встроенный ClickHouse® Keeper размещается на хостах ClickHouse® и подходит для тестирования или приложений с низкой нагрузкой.
* ClickHouse® Keeper на отдельных хостах подходит для стабильных версий приложений и приложений с высокой нагрузкой.

[ZooKeeper](#zk) также подходит для стабильных версий приложений и приложений с высокой нагрузкой. Однако ZooKeeper — это устаревающая технология, поэтому вместо него рекомендуется использовать ClickHouse® Keeper на отдельных хостах. В дальнейшем ZooKeeper станет недоступен для новых кластеров.

## ClickHouse® Keeper {#ck}

ClickHouse® Keeper — решение ClickHouse®, которое обеспечивает согласованность чтения и записи данных. ClickHouse® Keeper реализует совместимый с ZooKeeper клиент-серверный протокол, поэтому для взаимодействия с ним можно использовать любой стандартный клиент ZooKeeper. Однако снимки, журналы и межсерверный протокол ClickHouse® Keeper несовместимы с ZooKeeper, поэтому использование хостов ClickHouse® Keeper и ZooKeeper в одном кластере невозможно.

Подробнее о ClickHouse® Keeper читайте в [документации ClickHouse®](https://clickhouse.com/docs/ru/guides/sre/keeper/clickhouse-keeper).

В Managed Service for ClickHouse® сервис координации ClickHouse® Keeper доступен в следующих режимах:

* **ClickHouse Keeper (встроенный)** — ClickHouse® Keeper размещается на хостах ClickHouse®. Для обеспечения репликации кластер должен состоять из трех или более хостов ClickHouse®.
* **ClickHouse Keeper (на отдельных хостах)** — ClickHouse® Keeper размещается на отдельных хостах. Для обеспечения репликации кластер должен состоять из двух и более хостов ClickHouse®, а также включать три или пять хостов ClickHouse® Keeper.

  Этот режим используется по умолчанию в [консоли управления](https://kz.console.yandex.cloud) при создании кластера из двух и более хостов ClickHouse® на шард или при настройке сервиса координации.

Включить сервис координации ClickHouse® Keeper можно:
  
* при [создании кластера](../operations/cluster-create.md);
* во время [изменения кластера](../operations/update.md), если кластер создан без сервиса координации.

После включения ClickHouse® Keeper он не может быть отключен.

## ZooKeeper {#zk}

ZooKeeper — один из первых сервисов координации с открытым исходным кодом. В отличие от ClickHouse® Keeper он обеспечивает только согласованность записи данных, но не чтения.

Подробнее о ZooKeeper читайте в [документации ZooKeeper](https://zookeeper.apache.org/).

Сервис координации ZooKeeper размещается на отдельных хостах. Для обеспечения репликации в кластере Managed Service for ClickHouse® должно быть [три или пять хостов ZooKeeper](../qa/cluster-settings.md#zookeeper-hosts-number).

ZooKeeper используется по умолчанию при создании кластера Managed Service for ClickHouse® в [Yandex Cloud CLI](../../cli/index.md), Terraform и API.


Если вы создаете кластер из двух и более хостов ClickHouse® на шард и в [сети](../../vpc/concepts/network.md) кластера есть [подсети](../../vpc/concepts/network.md#subnet) в каждой [зоне доступности](../../overview/concepts/geo-scope.md), три хоста ZooKeeper будут добавлены автоматически, по одному в каждую подсеть. Если подсети есть только в некоторых зонах доступности, настройки хостов ZooKeeper нужно указывать вручную.


Минимальное количество ядер для одного хоста ZooKeeper зависит от суммарного количества ядер хостов ClickHouse®:

| Суммарное количество ядер хостов ClickHouse® | Минимальное количество ядер для одного хоста ZooKeeper |
|-------------------------------------------|-------------------------------------------------------|
| Менее 48                                  | 2                                                     |
| 48 и более                                | 4                                                     |

Класс хостов и размер хранилища ZooKeeper можно изменить при [изменении настроек кластера](../operations/update.md#change-resource-preset). Изменение настроек ZooKeeper и подключение к его хостам не поддерживается.

Включить сервис координации ZooKeeper можно:
  
* при [создании кластера](../operations/cluster-create.md);
* во время [изменения кластера](../operations/update.md), если кластер создан без сервиса координации.

После включения ZooKeeper он не может быть отключен.

_ClickHouse® является зарегистрированным товарным знаком [ClickHouse, Inc](https://clickhouse.com)._