首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >HDFS存储数据的地方

HDFS存储数据的地方
EN

Stack Overflow用户
提问于 2014-03-21 17:11:44
回答 1查看 36.1K关注 0票数 24

我试图了解hadoop在HDFS中存储数据的位置。我引用配置文件,即:core-site.xmlhdfs-site.xml

我设置的属性是:

  • core-site.xml hadoop.tmp.dir /hadoop/tmp中
  • hdfs-site.xml dfs.namenode.name.dir文件中:/hadoop/hdfs/namenode dfs.datanode.data.dir文件:/hadoop/hdfs/dfs.namenode.name.dir

按照上面的安排,像dfs.datanode.data.dir一样,数据块应该存储在这个目录中。这是正确的吗?

我引用了apache链接,从中我看到了以下内容:

  • core-default.xmlhadoop.tmp.dir ->其他临时目录的基。
  • hdfs-default.xml dfs.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的建议存储在目录中。

有没有人有过类似的经历?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-03-21 18:34:26

hdfs文件的数据将存储在dfs.datanode.data.dir中指定的目录中,您在默认值中看到的/dfs/data后缀将不会追加。

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

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

票数 14
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22565200

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档