Кассандра Файловая Система
Согласно быстрой реализации [Презентация в Cassandra SF ] - Cassandra, CFS, Job/Task Tracker и Hive Metastore работают в одной JVM, которая полностью отличается от настройки независимого кластера hadoop.
Это преимущество?
Что произойдет, если Task Tracker или какой-либо отдельный процесс в JVM завершится неудачно? Повлияет ли это на экземпляр Кассандры в той же JVM?
Как CFS получает данные? Хранит ли он SSTables как субблоки или его копию? Где это сжатие субблоков сделано?
С уважением, Тамил
1 ответ
Бриск выполняет все это в одной JVM, но в отдельных независимых потоках, которые не влияют друг на друга. Трекеры работают на выделенном узле, но нет единой точки отказа. Любой узел может быть выбран для запуска трекеров, и все состояние сохраняется в кластере Cassandra.
Преимущество всего этого в одной и той же JVM состоит в том, что нет никаких затрат на копирование и сериализацию для перемещения данных из Cassandra в код Hadoop.
CassandraFS разбивает блоки HDFS объемом 64 МБ на блоки по 2 МБ и сохраняет их как столбцы в Cassandra, по одной строке на блок. Сами файлы отображаются в список UUID строк блоков в семействе столбцов inodes.