Перевод статьи “Operations. Adding or removing nodes, data centers, or clusters. Removing a node” из официальной документации DataStax.
Удаление узла из кластера Cassandra
Используйте эту инструкцию, когда вы хотите удалить узел для уменьшения вашего кластера, но не для замены вышедшего из строя узла 1.
Внимание: если вы не используете виртуальные узлы 2 (vnodes), вы должны провести перебалансировку всего кластера.
Порядок действий
1) Проверьте состояние узла с помощью команды nodetool status 3:
Команда покажет состояние узла (up – в работе, down – вне работы):
2) Если узел находится в состоянии в работе, запустите команду nodetool decommission 4.
Эта команда присваивает диапазоны маркеров, за которые отвечал узел, другим узлам и осуществляет репликацию данных соответствующим образом.
Для отслеживания ситуации в реальном времени, воспользуйтесь командой nodetool netstats 5.
3) Если узел находится в состоянии вне работы:
Если кластер использует виртуальные узлы, необходимо удалить нужный узел командой nodetool removenode 6.
Если кластер не использует виртуальные узлы, перед запуском команды nodetool removenode вам необходимо перебалансировать маркеры 7, чтобы распределить данные узла равномерно между остальными узлами. Это поможет избежать получение точки отказа при выводе узла из работы.
Оригинал статьи – Removing a node 8