Я новичок в hadoop и не понимаю, как HDFS работает с ZFS или BTRFS.
Можно ли смонтировать физические диски с помощью ZFS, а затем установить HDFS поверх ZFS?
Или можно напрямую установить HDFS?
Да; мой кластер использует btrfs на разделах, которые я настроил для HDFS. Единственное, о чем я хотел бы вас предупредить, - это использование функции прозрачного сжатия brtfs, которая включается через параметр монтирования. Демоны Hadoop HDFS осведомлены о размере томов и свободном пространстве, используемом для HDFS на узле, и о свободном пространстве на нем, и если вы включите сжатие, эти значения размера станут «нереальными», т. Е. Утверждение «заполнено на 50%» «500MiB», когда том смонтирован в сжатом виде, не означает, что он может содержать только 500MiB, и он не заполнен наполовину (с включенным сжатием на томе btrfs вы можете записать файл со всеми нулями, который безумно превышает фактический размер тома). Из-за этой ненадежности и из-за дополнительных накладных расходов ЦП, которые потребуются при сжатии и распаковке, я бы избежал соблазна, даже если для большого количества данных, обычно поступающих в HDFS, эффективные коэффициенты сжатия могут быть весьма благоприятными.
Еще одна причина избегать сжатия томов HDFS заключается в том, что по мере того, как демоны перестраивают блоки, что с вашей настройкой репликации и все такое, машины будут распаковывать блоки при чтении на одном узле только для того, чтобы записывать их обратно сжатыми на другом узле.
Сказав это, одна из потенциальных возможностей, которые группа Hadoop может захотеть рассмотреть, - это обработка сжатия на уровне HDFS; в этом режиме блоки будут сжиматься или распаковываться только при записи или чтении кодом, включая утилиту hdfs. Я просто не уверен, что это будет стоить накладных расходов процессора.
Да. HDFS может быть применена практически к любой файловой системе Linux, которая поддерживает соглашение об именах и организации каталогов '/' с минимум двумя уровнями каталогов.
(Источник: https://hadoop.apache.org/docs/r1.2.1/hdfs_design.html )