Лучший базовый тип файловой системы и конфигурация для HDFS
Я хотел бы переформатировать раздел локального диска и превратить его в раздел для HDFS. Какая файловая система будет наиболее эффективной для работы с HDFS? Любые оптимизации, о которых я должен позаботиться для этой файловой системы?
Это Ubuntu 14.04
2 ответа
Вот лучшие практики:
Управляющее резюме:
- ext3 самый проверенный и надежный
- ext4/xfs менее протестированы, но предлагают преимущества в производительности
Я бы не рекомендовал ext3. Это имеет проблемы фрагментации.
Учитывая, что HDFS обычно работает с огромными файлами поверх файловой системы ОС, ext4 будет гораздо лучшим вариантом. ext4 организует пространство в смежные экстенты (куски соседних блоков). Таким образом, затраты на отображение крошечных блоков в огромные блоки гораздо меньше. ext4 также менее подвержен фрагментации.
Хотя XFS, похоже, имеет схожие функции с ext4, мои тесты (хотя и не для рабочих нагрузок hdfs) показывают, что в некоторых сценариях он уступает ext4 (например, удаление большого количества файлов и т. Д.).
Хотя рекомендуется иметь зарезервированное пространство для ext3, чтобы иметь меньше фрагментации. По умолчанию это 5%, см.
sudo tune2fs -l /dev/sdb1 | grep 'Reserved block count'
Таким образом, вы теряете 5% пространства HDFS прямо здесь. Для ext4 вы можете поставить зарезервированное пространство на 1% или даже на 0% (выключите, если выключено).
Вы не можете ошибаться с ext4 для HDFS.
Некоторые другие рекомендуемые опции для ext4:
- -noatime (опция монтирования)
- -tune2fs (чтобы отключить зарезервированные блоки)
Кто-то также рекомендует отключить отложенное размещение в ext4, но я бы не стал делать это без некоторого тестирования.