gpt4 book ai didi

hadoop - HDFS 存储数据的位置

转载 作者:可可西里 更新时间:2023-11-01 14:08:52 26 4
gpt4 key购买 nike

我想了解 hadoop 在 HDFS 中的什么地方存储数据。我指的是配置文件即:core-site.xmlhdfs-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,数据 block 应该存放在这个目录下。这是正确的吗?

我提到了 apache hadoop 链接,从中我看到了这个:

  • core-default.xml: hadoop.tmp.dir --> 其他临时目录的基础。

  • hdfs-default.xml dfs.datanode.data.dir --> 确定 DFS 数据节点应在本地文件系统中存储其 block 的位置。

    此属性的默认值为 -> 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 的建议存储在目录中。

有没有人有类似的经历?

最佳答案

hdfs文件的数据会存放在dfs.datanode.data.dir指定的目录下,/dfs/data后缀就是你看到的不会附加默认值。

如果您编辑 hdfs-site.xml,您必须重新启动 DataNode 服务才能使更改生效。还要记住,更改该值将消除 DataNode 服务提供存储在先前位置的 block 的能力。

最后,上面您使用 file:/... 而不是 file://... 指定了您的值。文件 URI 确实需要额外的斜杠,因此这可能会导致这些值恢复为默认值。

关于hadoop - HDFS 存储数据的位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22565200/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com