Zookeeper - замена неисправного элемента кластера
Я знаю, что пока есть кворум, мой ансамбль зоокейперов будет работать. Но оказывает ли отсутствующий сервер заметное влияние на производительность кластера?
Давайте предположим, что 1 из 3 серверов выходит из строя (и уничтожается жесткий диск). Я предполагаю, что могу присоединиться к новому (чистому) серверу без простоев, если у него тот же идентификатор сервера, что и у старого, и два других сервера могут подключаться к нему (у него тот же IP / имя хоста, что и у старого в их конфигурациях)?
Каково влияние "повторной синхронизации" третьего сервера (т. Е. Повлияет ли это на скорость достижения консенсуса по новым материалам)? Сколько времени обычно занимает эта операция (по отношению к объему данных в zookeeper)?
Могу ли я (или должен) просто скопировать данные и журнал данных с одного из существующих серверов? Снимки, вероятно, безопасны для копирования как есть, но журналы транзакций могут нуждаться в "копировании на определенный момент времени" (у меня есть btrfs CoW, так что это не проблема)?
Или, чтобы быть более конкретным, мне также интересно, являются ли данные на всех узлах эквивалентными (помимо последних записей) и взаимозаменяемыми. Или как-то специфично для идентификатора сервера хранится внутри?
1 ответ
Воссоединение с тем же идентификатором сервера, но никакие данные не нарушат кворум. Сначала необходимо удалить старый идентификатор сервера из всех оставшихся серверов и добавить новый сервер, используя новый идентификатор.