2015-03-18 4 views
1

Cassandra documentation рекомендует, чтобы ремонт выполнялся каждую неделю.Ремонт каменки nodetool

Но одна вещь, которая не ясна: мне нужно запустить nodetool repair в/для каждого узла; или nodetool repair, выпущенный на одном узле, восстанавливает весь кластер?

Запуск nodetool repair на одном узле, безусловно, приводит к наблюдаемым действиям по ремонту на всех узлах, насколько я могу видеть из opscenter.

ответ

2

Я согласен с тем, что документы не совсем понятны. Но ниже (с рекомендации один раз в неделю) находятся следующие два момента:

Требование к рутинной частоте ремонта - это значение gc_grace_seconds. Запустите операцию ремонта хотя бы один раз на каждом узле в течение этого периода времени. Следуя этому важному руководству, убедитесь, что удаленные файлы правильно обрабатываются в кластере.

И ...

Соблюдайте осторожность при выполнении ремонта рутинную узла на более чем один узел в то время и планировать регулярные операции в течение нескольких часов с низким уровнем использования ремонтных работ.

«Запуск nodetool ремонт на одном узле, безусловно, приводит к наблюдаемым деятельности по ремонту на всех узлах»

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

+0

Я бы также рекомендовал запустить ремонт nodetool -pr (только первичный диапазон) на каждом узле, а не только ремонт nodetool –

+0

@RomanTumaykin Я полностью согласен, и это то, что я тоже делаю. – Aaron

+2

Я использую этот скрипт для большинства моих процедур обслуживания (с некоторыми изменениями): https://github.com/nmilford/scripts/blob/master/Cassandra/cassandraMaintenance.sh –

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