2015-06-22 2 views
2

У меня есть кластер из 4 узлов и будет добавлять дополнительный узел за два дня. Мы не используем vnodes.Добавление нового узла в кластер Cassandra

Просто интересно, как лучше сбалансировать кластер после того, как я закончил. Я просто привожу новый узел, а затем начинаю движение nodetool?

Или я закрываю каждый узел вниз, изменяя значение initial_token для каждого из них (используя один из этих генераторов для вычисления значений для меня), а затем довести каждый узел вверх?

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

ответ

0

С этой страницы Adding or replacing single-token nodes простейшим механизмом является запуск нового узла с его исходным токеном, оставленным пустым в cassandra.yaml. Это заставит кластер «разбить диапазон токенов самого тяжелого загруженного узла и разместить новый узел там». Это не даст вам сбалансированного кластера.

Если вам нужен сбалансированный кластер, вам нужно пройти через движок nodetool, перезапустить узел, процедуру очистки nodetool, о которой вы упомянули.

+0

означает ли это, если у меня есть N число узлов и добавит еще N число узлов, это можно сбалансировать? – rendybjunior

+0

Если вы удваиваете размер кластера (без vnodes), вы можете получить initial_token каждого узла с помощью 'nodetool ring'. Если кластер сбалансирован, токены будут равномерно распределены. Разделите каждый диапазон маркеров пополам и назначьте маркеры средней точки новым узлам. Это обеспечит сбалансированный кластер из 2N узлов. – LHWizard

Смежные вопросы