HDFS默认在哪里存储文件?
Posted
技术标签:
【中文标题】HDFS默认在哪里存储文件?【英文标题】:Where HDFS stores files locally by default? 【发布时间】:2010-03-01 19:19:11 【问题描述】:我正在使用具有单节点集群的默认配置运行 hadoop,并且想查找 HDFS 在本地存储文件的位置。
有什么想法吗?
谢谢。
【问题讨论】:
【参考方案1】:您需要在您的 hdfs-default.xml 配置文件中查看 dfs.data.dir 设置。默认设置为:$hadoop.tmp.dir/dfs/data 并注意 $hadoop.tmp.dir 实际上是在 core-default.xml 中描述的here。
配置选项在here 中描述。此设置的说明是:
确定本地的位置 文件系统 DFS 数据节点应该 存储它的块。如果这是一个 逗号分隔的目录列表, 然后数据将存储在所有命名的 目录,通常在不同的 设备。不存在的目录 被忽略。
【讨论】:
此链接已损坏 :(hadoop.tmp.dir
的默认值是多少?
从上面的 core-default.xml 链接,它显示 hadoop.tmpdir = /tmp/hadoop-$user.name【参考方案2】:
似乎当前版本(2.7.1)的目录是
/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
【讨论】:
【参考方案3】:作为“更新的答案”并澄清 hadoop 版本号:
如果您使用 Hadoop 1.2.1(或类似的东西),@Binary Nerd 的回答仍然正确。
但如果你使用Hadoop 2.1.0-beta(或类似的东西),你应该阅读配置文档here,你要设置的选项是:dfs.datanode.data.dir
【讨论】:
【参考方案4】:对于 hadoop 3.0.0,hdfs 根路径由属性"dfs.datanode.data.dir"
给出
【讨论】:
【参考方案5】:在cmd
提示符下运行,您将获得 HDFS 位置:
bin/hadoop fs -ls /
【讨论】:
如前所述,这个命令只是给出一个错误。而且您修复了该命令,它根本不会回答原始问题,-ls 在这方面没有帮助。以上是关于HDFS默认在哪里存储文件?的主要内容,如果未能解决你的问题,请参考以下文章