Я пытаюсь понять, где хранит данные в HDFS. Я имею в виду конфигурационные файлы: core-site.xml
и hdfs-site.xml
Свойством, которое я установил, является:
-
В
core-site.xml
:<property> <name>hadoop.tmp.dir</name> <value>/hadoop/tmp</value> </property>
-
В
hdfs-site.xml
:<property> <name>dfs.namenode.name.dir</name> <value>file:/hadoop/hdfs/namenode</value> </property> <property> <name>dfs.datanode.data.dir</name> <value>file:/hadoop/hdfs/datanode</value> </property>
В приведенном выше расположении, например dfs.datanode.data.dir
, блоки данных должны храниться в этом каталоге. Правильно ли это?
Я ссылался на ссылку apache hadoop, и из этого я вижу следующее:
-
core-default.xml
:hadoop.tmp.dir
→ База для других временных каталогов. -
hdfs-default.xml
dfs.datanode.data.dir
→ Определяет, где в локальной файловой системе данные DFS node должны хранить свои блоки.Значение по умолчанию для этого свойства: →
file://${hadoop.tmp.dir}/dfs/data
Так как я явно предоставил значение для dfs.datanode.data.dir
(hdfs-site.xml
), означает ли это, что данные будут храниться в этом месте? Если да, добавит ли dfs/data в каталог ${dfs.datanode.data.dir}
, в частности, он станет → /hadoop/hdfs/datanode/dfs/data
?
Однако я не видел, чтобы эта структура каталогов создавалась.
Одно наблюдение, которое я видел в моем env:
Я видел, что после запуска некоторых программ MapReduce этот каталог создается, а именно:
/hadoop/tmp/dfs/data
создается.
Итак, не уверен, что данные будут храниться в каталоге, как это было предложено с помощью свойства dfs.datanode.data.dir.
Есть ли у кого-то подобный опыт?