Кассандра Файловая Система - PullRequest
3 голосов
/ 05 октября 2011

Согласно быстрой реализации [Презентация в Cassandra SF] - Cassandra, CFS, Job / Task Tracker и Hive Metastore работают в одной JVM, которая полностью отличается от настройки независимого кластера hadoop.

Это преимущество?

Что произойдет, если Task Tracker или какой-либо отдельный процесс в JVM завершится неудачно? Повлияет ли это на экземпляр Кассандры в той же JVM?

Как CFS получает данные? Хранит ли он SSTables как субблоки или его копию? Где выполняется сжатие субблоков?

С уважением, Тамил

1 Ответ

3 голосов
/ 04 ноября 2011

Бриск выполняет все это в одной JVM, но в отдельных независимых потоках, которые не влияют друг на друга. Трекеры работают на выделенном узле, но нет единой точки отказа. Любой узел может быть выбран для запуска трекеров, и все состояние сохраняется в кластере Cassandra.

Преимущество всего этого в одной и той же JVM состоит в том, что нет необходимости в копировании и сериализации для перемещения данных из Cassandra в код Hadoop.

CassandraFS разбивает блоки HDFS объемом 64 МБ на блоки по 2 МБ и сохраняет их как столбцы в Cassandra, по одной строке на блок. Сами файлы отображаются в список UUID строк блоков в семействе столбцов inodes.

...