Где HDFS хранит файлы локально по умолчанию? - PullRequest
33 голосов
/ 01 марта 2010

Я запускаю hadoop с конфигурацией по умолчанию с кластером из одного узла и хотел бы найти, где HDFS хранит файлы локально.

Есть идеи?

Спасибо.

Ответы [ 5 ]

27 голосов
/ 02 марта 2010

Вам нужно найти в вашем hdfs-default.xml файл конфигурации для настройки dfs.data.dir . Значение по умолчанию: $ {hadoop.tmp.dir} / dfs / data и обратите внимание, что $ {hadoop.tmp.dir} на самом деле в core-default.xml, описанном здесь .

Параметры конфигурации описаны здесь . Описание этого параметра:

Определяет, где на местном файловая система узел данных DFS должен хранить свои блоки. Если это разделенный запятыми список каталогов, тогда данные будут храниться во всех именованных каталоги, как правило, на разных устройства. Каталоги, которые не существуют игнорируются.

15 голосов
/ 23 ноября 2015

Похоже, для текущей версии (2.7.1) dir составляет

/tmp/hadoop-${user.name}/dfs/data

На основе значений dfs.datanode.data.dir, hadoop.tmp.dir из: http://hadoop.apache.org/docs/r2.7.1/hadoop-project-dist/hadoop-hdfs/hdfs-default.xml http://hadoop.apache.org/docs/r2.7.1/hadoop-project-dist/hadoop-common/core-default.xml

14 голосов
/ 17 сентября 2013

В качестве «более свежего ответа» и для уточнения номеров версий hadoop:

Если вы используете Hadoop 1.2.1 (или что-то подобное), ответ @Binary Nerd по-прежнему верен.

Но если вы используете Hadoop 2.1.0-beta (или что-то подобное), вам следует прочитать документацию конфигурации здесь , и параметр, который вы хотите установить: dfs.datanode.data.dir

0 голосов
/ 21 марта 2018

Для hadoop 3.0.0 корневой путь hdfs задается свойством "dfs.datanode.data.dir"

0 голосов
/ 04 июня 2015

Запустите это в приглашении cmd, и вы получите расположение HDFS:

bin/hadoop fs -ls /
...