【问题标题】:Where are my files(dir) stored when i used the hadoop fs -mkdir?当我使用 hadoop fs -mkdir 时,我的文件(目录)存储在哪里?
【发布时间】:2012-07-30 03:03:24
【问题描述】:

我对 hadoop 完全陌生,刚刚完成安装,这花了我 2 天时间... 我现在正在尝试使用 hadoop dfs 命令,但我就是无法理解它,虽然我已经浏览了好几天,但我找不到我想知道的答案。 所有的例子都展示了结果应该是什么,没有解释它的真实结构,所以如果有人能帮助我理解hadoop hdfs,我会很高兴。

我在 HDFS 上创建了一个目录。

bin/hadoop fs -mkdir input

好的,我会用 ls 命令检查一下。

bin/hadoop fs -ls
Found 1 items
drwxr-xr-x   - hadoop supergroup          0 2012-07-30 11:08 input

好的,没问题,一切看起来都很完美。但是 HDFS 数据实际上存储在哪里? 我以为它会存储在我的datanode目录(/home/hadoop/datastore)中,该目录在hadoop.tmp.dir下的core-site.xml中定义,但它不存在..

然后我尝试通过WEB-UI查看,发现“输入”是在“/user/hadoop/”(/user/hadoop/input)下创建的。

我的问题是

  • (1) datanode 目录 (hadoop.tmp.dir) 用于什么,因为它不存储我通过 dfs 命令处理的所有内容?
  • (2) dfs 命令创建的所有内容都到 /user/XXX/ ,如何更改它的值?
  • (3) 当我尝试通过普通的 linux 命令 (ls /user/hadoop) 访问时,我什么也看不到。 /user/hadoop 在逻辑上是否存在?

如果我的问题很愚蠢,我很抱歉.. 一个新手努力更好地理解 hadoop..

提前谢谢你。

【问题讨论】:

    标签: hadoop hdfs


    【解决方案1】:

    Hdfs 不是 posix 文件系统,您必须使用 hadoop api 来读取和查看此文件系统。这就是您在此处使用 hadoop API 读取文件时必须执行 hadoop fs -ls 的原因。 hdfs中的数据存储在块中,并存储在所有datanode中。关于这个文件系统的元数据存储在 Namenode 上。您在“/home/hadoop/datastore”目录中看到的数据文件是存储在单个数据节点上的块。

    我认为您应该在其教程中进一步了解其文件系统。 Yahoo, YDN tutorial on hdfs

    【讨论】:

      猜你喜欢
      • 2019-10-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-03-22
      • 2014-06-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多