У меня есть кластер cassandra с 3 узлами с конфигурацией JBOD. У меня есть 4 диска для данных /data1, /data2, /data3, /data4. Теперь мы часто сталкиваемся с проблемой свободного места на диске на узлах. В настоящее время /data1 заполнен (100%), а на других дисках /data2(26%),/data3(34%), data4(17%), используемых на узле 1 и других узлах, достаточно места на всех дисках.
1) Итак, мой вопрос: если какие-либо запросы поступят в кластер cassandra, а данные будут отправлены в /data1 на node1, что произойдет? Запрос не выполнен? или cassandra справится и запишет на другой диск, на котором есть место?
2) JBOD полезен в кассандре, кроме аварийного восстановления диска?
Заранее спасибо!

Данные должны распределяться равномерно. Вы добавляли эти диски по одному или все сразу?
Подробнее о том, как это работает, можно прочитать в статье Энтони Грассо на странице http://thelastpickle.com/blog/2018/08/22/the-fine-print-when-using-multiple-data-directories.html.
Его и мое предложение заключается в том, что если вы хотите использовать много дисков/каталогов данных, попробуйте объединить их с LVM или ЗФС.
Тогда у вас могут быть широкие разделы для некоторых данных, и эти широкие разделы должны быть объединены в SSTables по очевидным причинам. Возможно, вы захотите посмотреть, насколько велики ваши разделы, и посмотреть, есть ли действительно большие разделы.
Это причина того, что данные распределяются неравномерно, верно? @ Рахул, а как насчет моих двух вопросов выше?
В то время как новые данные, будь то потоком или новыми вставками, будут поступать на разные диски, но пока они думают, что старые SSTables все еще там, они будут продолжать идти на disk1.
@Спасибо, Рахул, за уделенное время. Таким образом, cassandra будет управлять автоматически, если /data1 будет заполнен (100%), тогда она запишет данные на другой диск, и мой запрос не завершится ошибкой. Насколько я понимаю, sstables неизменны, тогда почему cassandra будет думать о старых sstables?
При сжатии избыточные записи «уплотняются», и все обновления раздела перемещаются рядом друг с другом. В это время старые записи очищаются/собираются мусор. docs.datastax.com/en/cassandra/3.0/cassandra/dml/…
Хорошо, есть ли какие-либо конфигурации, в которых мы можем установить пороговое значение диска для всех дисков с использованием JBOD, чтобы мы могли избежать подобных проблем, а сжатие и запись происходили гладко?
Спасибо, Рахул, но данные не распространяются, как я уже упоминал в своем вопросе. Да, все диски добавляются только во время установки. Но мой вопрос выше 2, что я описал.