ограничения узла Кассандры - PullRequest
10 голосов
/ 25 августа 2011

Я ищу, если у cassandra есть ограничения спецификации оборудования узла, например, какое может быть максимальное хранилище на узел, если есть такие ограничения.

Я намерен использовать пару узлов с объемом хранилища 48 ТБ (2 ТБ, 24 жестких диска, 7200 об / мин) на узел с хорошим процессором с двумя процессорами xeon.

Я искал такие ограничения, если они есть, но не нашел материалов по этой проблеме. И ребята, почему в последнее время так много шума вокруг Кассандры, когда она становится более зрелой и имеет версию 0.8, в то время как большинство статей / блогов имеют отношение только к 0.6v.

Ответы [ 5 ]

8 голосов
/ 25 августа 2011

Здесь есть несколько замечаний о соображениях, касающихся большого набора данных.

48 ТБ данных на узел, вероятно, слишком много. Будет намного лучше иметь больше узлов с меньшим количеством данных. Периодически вам нужно запускать nodetool repair , который включает чтение всех данных на машине. Если вы храните много терабайт данных на машине, это будет очень болезненно.

Я бы ограничил каждый узел до 1 ТБ данных.

8 голосов
/ 25 августа 2011

Cassandra распределяет свои данные по строкам, поэтому единственным жестким ограничением является то, что строка должна умещаться на одном узле.

Итак, короткий ответ - нет.

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

Еще одна вещь, которую нужно иметь в виду, это то, что вы все равно столкнетесь с проблемами скорости поиска. Одна из приятных вещей в Cassandra заключается в том, что вам не нужно иметь один узел с таким большим количеством данных (и на самом деле это, вероятно, не очень хорошо рекомендуется, потому что хранилище превзойдет ваши вычислительные мощности). Если вы используете узлы меньшего размера (с точки зрения места на жестком диске), ваши возможности хранения и обработки будут масштабироваться вместе.

5 голосов
/ 26 августа 2011

Вы также должны быть осторожны, используя большие объемы оперативной памяти с Cassandra.ОЗУ отлично подходит для кэширования данных в SSTables, но слишком много места в JVM приводит к обратным результатам.Не предоставляйте JVM намного больше, чем 12 ГБ пространства кучи, иначе сборка мусора займет слишком много времени и снизит производительность.Это еще одна причина, почему в Кассандре лучше иметь более мелкие узлы.

5 голосов
/ 25 августа 2011

См. Сколько данных на узел в кластере Cassandra?

, что говорит о том, что от 1 до 10 ТБ на узел разумно, в зависимости от вашего приложения.Cassandra, вероятно, по-прежнему будет работать с 48 ТБ, но не оптимально.

Планируете ли вы использовать коэффициент репликации 1 или 2 (если у вас 2 узла, как указано выше)?

Некоторые операции (восстановление, сжатие) может быть очень медленным с таким большим количеством данных на одном узле.

1 голос
/ 10 июня 2016

Datastax, который является основным поставщиком, рекомендует от 3 до 5 To на узел

Смотрите здесь:

https://docs.datastax.com/en/cassandra/1.2/cassandra/architecture/architecturePlanningHardware_c.html

...