Как правильно заменить ноду в кластере

879 views
Skip to first unread message

Mike Eremin

unread,
Aug 24, 2017, 10:57:52 AM8/24/17
to ClickHouse
Добрый день,
подскажите плиз, какой правильный алгоритм замены ноды в кластере (2шарда - 2 реплики).

Сработает ли такой путь:

- на новом сервере поднимается zookeeper, вводится в кластер (зукипера). Обновляем все настройки кластера КХ.
- останавливаю кх на реплике (которая будет убрана), копирую оттуда данные в новый КХ.
- запускаю КХ везде (в конфигурации [2 реплики ] + [3 реплики] - проверяю, что все данные на месте, репликация идет.
- удаляю одну ноду из всех конфигов, из зукипера, выключаю сервер.


ps. Есть ли уже какой-то способ бекапа КХ ? Или копируем-архивируем файлы?

man...@gmail.com

unread,
Sep 4, 2017, 7:43:39 PM9/4/17
to ClickHouse
Наиболее простой способ мигрировать реплику ClickHouse с одного сервера на другой:

Создаётся новая реплика на новой ноде - с помощью CREATE TABLE. После этого у вас станет на одну реплику больше.
Затем удаляется старая реплика с помощью DROP TABLE.

А если старая реплика полностью умерла и сервера больше нет, то надо удалить соответствующий ей узел в ZooKeeper: path_to_table/replicas/replica_name

При этом вручную копировать файлы не требуется.

(Миграция серверов ZK в этом способе не рассматривается.)

Mike Eremin

unread,
Sep 5, 2017, 4:26:12 AM9/5/17
to ClickHouse
Спасибо,  
я правильно понимаю, что create/drop я делаю на replicated таблицах, кликхаус позаботится прописыванием всего нужного в ZK?
Также КХ, как только появится еще одна реплика, позаботится сам репликацией данных туда?

С моей стороны нужно только поправить конфиги на всех нодах КХ? (убрать/добавить реплику)

вторник, 5 сентября 2017 г., 2:43:39 UTC+3 пользователь man...@gmail.com написал:

Николай Кочетов

unread,
Sep 5, 2017, 9:53:52 AM9/5/17
to ClickHouse
Да, все верно.

вторник, 5 сентября 2017 г., 11:26:12 UTC+3 пользователь Mike Eremin написал:
Reply all
Reply to author
Forward
0 new messages