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