Место на диске не изменилось после массового удаления данных из Cassandra db с уплотнением и восстановлением

У нас есть кластер Cassandra (2.1.11) с 15 узлами, коэффициент репликации 3 на SSD дисках.

Одна из таблиц занимает 12 ТБ. И живое дисковое пространство, и общее дисковое пространство эквивалентны. Я также подтвердил, что это число совпадает в Центре операций, отчетах JMX и фактическом размере папки в файловой системе.

Нам не хватает места, поэтому мы удалили 35% всех данных. (каждая запись имеет 104 байта, поэтому мы удалили миллиарды строк)

Однако мы совсем не получили свободного места, хотя мы видим, что при удалении записей происходит много уплотнений.

С тех пор мы запускали jvm-процесс восстановления / очистки / перезапуска nodetool, безуспешно.

Кто-нибудь знает, что я еще могу сделать?


person Hidetomo Morimoto    schedule 26.10.2016    source источник
comment
Обратите внимание на льготу GC, если у вас мало на диске, вы можете уменьшить это сейчас и запускать уплотнения.   -  person Jeff Beck    schedule 27.10.2016
comment
Спасибо. Мы запускаем пакетный процесс еженощной очистки в течение недели. Не прошло и 10 дней. Мы можем изменить это значение и перезапустить процесс. Буду обновлять, как это происходит.   -  person Hidetomo Morimoto    schedule 28.10.2016
comment
Мы установили для gc_grace_periods значение 3 дня и начали процесс восстановления. Мы не перезапускали процесс. Я, конечно, вижу тенденцию к снижению, но она очень медленная. За последние 3 дня мы видим только 30 ГБ свободного места. Стоит ли перезапустить все боксы или дождаться завершения всего процесса ремонта? Ремонт обычно занимает у нас 7-10 дней.   -  person Hidetomo Morimoto    schedule 04.11.2016
comment
Его сжатие не восстанавливает чистое дисковое пространство. Если вы используете stcs, нет гарантии, что все удаленные данные будут своевременно очищены. возможно, вам придется считать выровненным.   -  person Jeff Beck    schedule 04.11.2016
comment
Спасибо. Мы используем LeveledCompactionStrategy для этой конкретной индексной таблицы. Мы остановим процесс восстановления и вместо этого запустим nodetool compact.   -  person Hidetomo Morimoto    schedule 05.11.2016


Ответы (1)


Предположим, вам придется подождать gc_grace_seconds, прежде чем удаленные данные будут иметь право на окончательное удаление сгенерированных надгробий. Так что планируйте заранее в свое время :)

Вот хорошая ссылка для понимания внутреннего работа Кассандры и удаление vs освобождение дискового пространства. И, возможно, рассмотрите эту ссылку, а также о том, как сделать определяемое пользователем уплотнение.

person Steffen Winther Sørensen    schedule 26.10.2016
comment
Обратите внимание, что без выравнивания может пройти намного больше времени, чем отсрочка GC, прежде чем элементы покинут диск. - person Jeff Beck; 27.10.2016