2017-01-24 10 views
3

Недавно у нас был сбой диска в одном из наших узлов Cassandra (его 5-кластер Cassandra 2.2 с коэффициентом репликации 3). Для выполнения полного ремонта на этом узле потребовалось около недели или более. Каждый узел содержит 3/5 данных, а ремонт nodetool восстанавливает 3/5 диапазонов токенов по всем узлам. Теперь, когда он будет отремонтирован, он, скорее всего, будет исправляться быстрее, так как он сделал дополнительный ремонт. Мне интересно, стоит ли выполнять периодический ремонт на всех узлах с помощью nodetool repair -pr (мы на 2.2, и я думаю, что инкрементный ремонт по умолчанию равен 2.2).Рекомендуется периодический ремонт cassandra

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

ответ

4

Да, его хорошая практика для выполнения запланированного поэтапного ремонта. Запустите ремонт достаточно часто, чтобы каждый узел был восстановлен до достижения времени, указанного в настройке gc_grace_seconds.

0

Также было бы здорово, если бы вы регулярно проводили поэтапный ремонт в сочетании с полным ремонтом, реже, чем раз в месяц/неделю. инкрементный ремонт будет восстанавливать SSTable, который ранее не был отмечен как отремонтированный, но полный ремонт может позаботиться о более общем случае, таком как гниение SSTable. проверьте ссылку из датастакса: https://docs.datastax.com/en/cassandra/2.1/cassandra/operations/opsRepairNodesWhen.html