Отказоустойчивость кластера ClickHouse
На отказоустойчивость кластера ClickHouse влияют:
- наличие репликации данных в шарде;
- тип размещения нод.
Репликация данных
Если шард состоит только из одной ноды, данные в нем не реплицируются. Чтобы обеспечить репликацию данных, добавьте в шард дополнительные ноды — реплики.
Указать количество нод в шарде можно при создании кластера. Вы можете изменить количество нод в шарде в существующем кластере — добавить или удалить. Общее количество нод в шарде не может превышать десяти.
Тип размещения нод
Тип размещения нод зависит от количества нод в шардах, типа пула, в котором расположен кластер, и количества сегментов в пуле:
-
Single-Segment — в одном сегменте однозонального пула. Применимо:
- для кластеров с одним шардом, в котором только одна нода;
- шардов с несколькими нодами, если кластер расположен в пуле только с одним сегментом;
- шардов с несколькими нодами в конфигурациях линейки HighFreq;
примечаниеНапример, вы создали кластер в пуле ru-2 с ClickHouse Keeper и шардом, в котором две ноды. Для обеих групп нод использовали конфигурации из линейки HighFreq. Все ноды будут размещены в одном сегменте пула ru-2c.
-
Multi-Segment — в разных сегментах однозонального пула. Применимо для кластеров, которые состоят из шардов с несколькими нодами, если кластер расположен в пуле с несколькими сегментами. Сегменты находятся в разных стойках одного дата-центра. Ноды каждого шарда распределяются по сегментам последовательно;
примечаниеНапример, вы создали кластер в пуле ru-1 с одним шардом, в котором четыре ноды. Первые три ноды будут размещены последовательно в сегментах пула ru-1a, ru-1b и ru-1c. Четвертая нода будет размещена в сегменте ru-1a. Если вы добавите пятую ноду, то она будет размещена в сегменте пула ru-1b.
-
Single-AZ — в одном сегменте мультизонального пула. Применимо для кластеров, которые состоят из одного шарда с одной нодой, если кластер расположен в пуле ru-6. Если вы увеличите количество нод в шарде, тип размещения нод изменится на Multi-AZ;
-
Multi-AZ — в разных сегментах мультизонального пула. Применимо для кластеров, которые состоят из шардов с несколькими нодами, если кластер расположен в пуле ru-6. Каждый сегмент пула расположен в отдельном дата-центре. Ноды каждого шарда распределяются по сегментам последовательно.
примечаниеНапример, вы создали кластер в пуле ru-6 с одним шардом, в котором четыре ноды. Первые три ноды будут размещены последовательно в сегментах пула ru-6a, ru-6b и ru-6c. Четвертая нода будет размещена в сегменте ru-6a. Если вы добавите пятую ноду, то она будет размещена в сегменте пула ru-6b.
Посмотреть список пулов и сегментов можно в таблице Инфраструктура Selectel инструкции Локации: страны, регионы, зоны доступности, пулы и адреса дата-центров.
Добавить ноду
В шарде может быть не более десяти нод. В процессе добавления ноды другие ноды шарда продолжат работать на чтение и запись.
- Если кластер состоит только из одного шарда с одной нодой, добавьте ClickHouse Keeper.
- В панели управления в верхнем меню нажмите Продукты и выберите Облачные базы данных.
- Откройте вкладку Активные.
- Откройте страницу кластера → вкладка Настройки.
- В меню шарда выберите Изменить кол-во нод.
- Откройте вкладку Добавление.
- Укажите новое количество нод в шарде. Если в подсети, к которой подключен кластер, нет свободных адресов, то ноду нельзя добавить, — каждая новая нода занимает новый адрес в подсети.
- Нажмите Сохранить.
Удалить ноду
Удаление ноды приведет к удалению всех данных, которые находятся на этой ноде.
В процессе удаления другие ноды шарда продолжат работать на чтение и запись. Публичный IP-адрес, привязанный к ноде, будет удален.
- В панели управления в верхнем меню нажмите Продукты и выберите Облачные базы данных.
- Откройте вкладку Активные.
- Откройте страницу кластера → вкладка Настройки.
- В меню шарда выберите Изменить кол-во нод.
- Откройте вкладку Удаление.
- Отметьте ноду, которую хотите удалить. В шарде должна оставаться хотя бы одна нода. Удалить все ноды из шарда нельзя.
- Нажмите Сохранить.