Добавление каталогов данных HDFS
Каталоги данных HDFS — это каталоги, в которых ноды DataNodes хранят свои блоки данных. Эти каталоги могут располагаться на разных устройствах, например, на примонтированных физических дисках. Локальные каталоги данных можно добавить в пользовательском интерфейсе ADCM. Откройте сервис HDFS кластера ADH. На вкладке Primary configuration, в дереве конфигурационных параметров, найдите ноду hdfs-site.xml, раскройте её и найдите параметр dfs.datanode.data.dir среди вложенных элементов.
Нажмите вложенный элемент Add property, чтобы добавить новый каталог данных. В появившемся окне укажите путь, например: /srv/hadoop-hdfs/data
, и тип хранилища: SSD
, DISK
, ARCHIVE
или RAM_DISK
.
Нажмите Apply, чтобы применить настройки. Элемент с новым каталогом данных появится в дереве конфигурации.
Также необходимо выполнить следующие шаги:
-
Прежде чем добавить новое значение в параметр
dfs.datanode.data.dir
, необходимо указать владельца и разрешения для всех DataNodes следующим образом:$ chown -R hdfs:hadoop /path/to/data/dir $ chmod -R 755 /path/to/data/dir
Где
/path/to/data/dir
это путь к каталогу данных или путь в локальной файловой системе, где этот каталог должен быть создан. -
Каталоги данных должны иметь один и тот же путь и содержимое на всех DataNodes. Разные настройки разрешены только для групп с разной конфигурацией.
-
Для повышения производительности рекомендуется монтировать внешние каталоги данных в файле /etc/fstab с параметром
noatime
, например:/path/to/data/dir ext3 defaults,noatime 1 1
Если разрешения для каталогов не установлены, при перезапуске HDFS произойдёт ошибка NameNode, например: the reported blocks 0 needs additional 478 blocks to reach the threshold 0.9990 of total blocks 479
. Чтобы исправить эту ошибку, установите правильные разрешения для добавленных каталогов данных и перезапустите HDFS. Если это не поможет, убедитесь, чтобы все добавленные каталоги содержат данные с идентичной структурой на разных DataNodes. Набор файлов и каталогов должен быть одинаковым.