Замена начального узла, не удаляя его из начального списка - PullRequest
0 голосов
/ 07 сентября 2018

У меня есть кластер кассандры (версия 2.2.8) из 6 узлов, где 3 узла являются начальными узлами.Один из семенных узлов недавно вышел из строя.Мне нужно заменить этот мертвый начальный узел.Мой кластер настроен так, что не может пережить потерю более 1 узла.Я прочитал эту документацию, чтобы заменить узел мертвого семени.https://docs.datastax.com/en/cassandra/2.1/cassandra/operations/opsReplaceNode.html

В соответствии с документацией, я боюсь удалить узел мертвых семян из списка семян и выполнить повторный перезапуск.Если по какой-либо причине какой-либо узел не t start, I потеряет данные.

Как подойти к этому сценарию?Можно ли не удалять мертвый начальный узел из начального списка до тех пор, пока новый узел полностью не заработает?Поскольку у меня уже есть два рабочих начальных узла, уже присутствующих в начальном списке.Пожалуйста, совет.

1 Ответ

0 голосов
/ 07 сентября 2018

Короче говоря: Да, это нормально, чтобы подождать с удалением начального узла.

Объяснение: Конфигурация начального узла делает две вещи:

  1. При добавлении новых узлов.Новый узел прочитает начальную конфигурацию, чтобы получить первую точку контакта с кластером Cassandra.После того, как узел присоединился к кластеру, он сохранит информацию обо всех узлах Cassandra в своей таблице system.peers.Для всех будущих запусков он будет использовать эту информацию для подключения к кластеру, а не для конфигурации начального узла.
  2. Кассандра также использует начальные значения для улучшения сплетен.По сути, начальные узлы чаще получают сообщения о сплетнях, чем обычные узлы.Это повышает скорость, с которой узлы получают обновления о других узлах, например о состоянии.

Потеря начального узла в вашем случае повлияет только на 2. Поскольку у вас есть еще два начальных узла, я невижу это как большую проблему.Я по-прежнему выполняю повторный перезапуск на всех узлах, как только вы обновите начальную конфигурацию.

...