Высокая доступность кластера Yandex Managed Service for ClickHouse®
Высокая доступность кластера Managed Service for ClickHouse® определяется количеством и расположением его хостов, настройками репликации и шардирования, а также другими параметрами кластера.
Количество и расположение хостов кластера
Кластер Managed Service for ClickHouse® состоит из одного или нескольких шардов, каждый из которых включает в себя один или несколько хостов.
Кластер из одного хоста
Кластер из одного хоста ClickHouse® не обеспечивает высокую доступность. При выходе из строя виртуальной машины хоста такой кластер будет недоступен до окончания работ по восстановлению ВМ. На кластер из одного хоста не распространяется Соглашение об уровне обслуживания (SLA)
Кластер из двух или более хостов
В соответствии с Соглашением об уровне обслуживания (SLA)
В кластере, состоящем из двух или более хостов, работает репликация: хосты ClickHouse® могут заменять друг друга в качестве основной реплики. Репликацией и распределением запросов по хостам управляет сервис координации — ClickHouse® Keeper или ZooKeeper. Сервис координации можно выбрать при создании кластера или добавить его позднее. В соответствии с SLA, сервис координации высокодоступного кластера должен размещаться на отдельных хостах. Конфигурация, в которой ClickHouse® и ClickHouse® Keeper размещены на одних хостах, не является высокодоступной.
В кластере может быть от трех до пяти хостов сервиса координации. Оптимальная конфигурация для высокодоступного кластера — три хоста сервиса координации. Увеличение числа хостов ZooKeeper или ClickHouse® Keeper влияет на доступность кластера следующим образом:
- Четыре хоста сервиса координации — доступность ниже, чем при использовании трех хостов, так как вероятность отказа двух из четырех хостов выше вероятности отказа двух из трех хостов.
- Пять хостов сервиса координации — кластер остается высокодоступным, так как одновременное отключение двух хостов сервиса координации не приводит к отказу кластера.
В сервисе не поддерживается использование более пяти хостов сервиса координации.
Кластер из нескольких шардов
Шардирование повышает доступность кластера, но кластер, состоящий из нескольких однохостовых шардов, не является высокодоступным. В соответствии с SLA, для высокой доступности шардированного кластера необходимо:
- не менее двух хостов ClickHouse® в каждом шарде, расположенных в разных зонах доступности;
- не менее трех хостов ZooKeeper или ClickHouse® Keeper, расположенных в разных зонах доступности.
Подробнее о влиянии шардирования на доступность кластера.
Настройки хранилища
Если в хранилище заканчивается свободное место, выполнение запросов на вставку (INSERT), фоновых мержей и мутаций приостанавливается. Настройте алерты в Yandex Monitoring, чтобы отслеживать степень заполнения хранилища, или включите автоматическое увеличение размера хранилища.
Настройки обслуживания
Во время технического обслуживания может потребоваться перезагрузка хостов. Кластер, состоящий из единственного хоста ClickHouse®, во время перезагрузки будет недоступен.
Если кластер состоит из нескольких хостов или шардов, то хосты становятся недоступны по очереди. Чтобы ваши приложения работали бесперебойно, используйте для подключения к кластеру или шарду особый FQDN, всегда указывающий на доступный хост.
Подробнее о порядке технического обслуживания.
Прочие параметры
На доступность кластера также могут влиять:
- настройки резервного копирования;
- выбранный тип дисков хранилища;
- классы хостов;
- квоты и лимиты.
- настройка групп безопасности.
ClickHouse® является зарегистрированным товарным знаком ClickHouse, Inc