【发布时间】:2014-03-21 17:11:44
【问题描述】:
我试图了解 hadoop 在 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.xmldfs.datanode.data.dir--> 确定 DFS 数据节点应在本地文件系统上存储其块的位置。此属性的默认值为 ->
file://${hadoop.tmp.dir}/dfs/data
由于我明确提供了dfs.datanode.data.dir (hdfs-site.xml) 的值,这是否意味着数据将存储在该位置?如果是的话,dfs/data会不会被添加到${dfs.datanode.data.dir}的目录中,具体会变成->/hadoop/hdfs/datanode/dfs/data吗?
但是我没有看到这个目录结构被创建。
我在环境中看到的一个观察结果:
我看到在我运行一些 MapReduce 程序后,创建了这个目录,即:
/hadoop/tmp/dfs/data 正在创建中。
因此,不确定数据是否按照属性 dfs.datanode.data.dir 的建议存储在目录中。
有人有类似经历吗?
【问题讨论】:
标签: hadoop configuration hdfs