Распределенная файловая система Hadoop (HDFS) - это система хранения файлов по умолчанию, используемая Apache Hadoop. HDFS создает несколько реплик блоков данных и распределяет их по узлам данных по всему кластеру, чтобы обеспечить надежное вычисление огромных объемов данных на стандартном оборудовании.

Apache Hadoop Wiki HDFS

HDFS - это основное распределенное хранилище, используемое приложениями Hadoop. Кластер HDFS в основном состоит из NameNode, который управляет метаданными файловой системы, и DataNodes, в которых хранятся фактические данные. Клиенты связываются с NameNode для получения метаданных файлов или модификаций файлов и выполняют фактический ввод-вывод файлов напрямую с помощью DataNodes.

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

  • Hadoop, включая HDFS, хорошо подходит для распределенного хранения и распределенной обработки с использованием стандартного оборудования. Это отказоустойчивый, масштабируемый и чрезвычайно простой в расширении. MapReduce, хорошо известный своей простотой и применимостью для большого набора распределенных приложений, является неотъемлемой частью Hadoop.
  • HDFS легко настраивается, а конфигурация по умолчанию хорошо подходит для многих установок. В большинстве случаев конфигурацию необходимо настраивать только для очень больших кластеров.
  • Hadoop написан на Java и поддерживается на всех основных платформах.
  • Hadoop поддерживает команды, подобные оболочке, для прямого взаимодействия с HDFS.
  • NameNode и Datanodes имеют встроенные веб-серверы, которые упрощают проверку текущего состояния кластера.
  • В HDFS регулярно внедряются новые функции и улучшения.
    Ниже приведены некоторые полезные функции HDFS:
  • Права доступа к файлам и аутентификация.
  • Осведомленность о стойке: учет физического местоположения узла при планировании задач и распределении хранилища.
  • Safemode: административный режим для обслуживания.
  • fsck: утилита для диагностики состояния файловой системы, поиска недостающих файлов или блоков.
  • Rebalancer: инструмент для балансировки кластера, когда данные неравномерно распределены между узлами данных.
  • Обновление и откат: после обновления программного обеспечения можно вернуться к состоянию HDFS перед обновлением в случае непредвиденных проблем.
  • Вторичный NameNode (не рекомендуется): выполняет периодические контрольные точки пространства имен и помогает поддерживать размер файла, содержащего журнал изменений HDFS, в определенных пределах в NameNode. Заменен узлом Checkpoint.
  • Узел контрольной точки: выполняет периодические проверки пространства имен и помогает минимизировать размер журнала, хранящегося в узле NameNode, содержащего изменения в HDFS. Заменяет роль, ранее выполнявшуюся Secondary NameNode. NameNode позволяет использовать несколько узлов Checkpoint одновременно, пока в системе не зарегистрированы резервные узлы.
  • Резервный узел: расширение узла контрольной точки. В дополнение к контрольным точкам он также получает поток изменений от NameNode и поддерживает свою собственную копию пространства имен в памяти, которая всегда синхронизируется с активным состоянием пространства имен NameNode. Только один резервный узел может быть зарегистрирован в NameNode одновременно.
  • Федерация HDFS: чтобы масштабировать службу имен по горизонтали, федерация использует несколько независимых узлов имен / пространств имен.