【问题标题】:Where HDFS stores files locally by default?HDFS默认在哪里存储文件?
【发布时间】:2010-03-01 19:19:11
【问题描述】:

我正在使用具有单节点集群的默认配置运行 hadoop,并且想查找 HDFS 在本地存储文件的位置。

有什么想法吗?

谢谢。

【问题讨论】:

    标签: 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.dirhadoop.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 在这方面没有帮助。
          猜你喜欢
          • 2023-04-02
          • 2011-06-30
          • 2017-01-02
          • 2018-08-19
          • 2019-07-27
          • 2014-10-10
          • 1970-01-01
          • 2015-11-30
          • 2015-03-21
          相关资源
          最近更新 更多