我对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查看,我发现“input”是在“/ user / hadoop /”(/ user / hadoop / input)下创建的。
我的问题是
如果我的问题很愚蠢,我很抱歉。 一个新手努力理解hadoop更好..
提前谢谢。
答案 0 :(得分:11)
Hdfs 不是posix文件系统,您必须使用hadoop api来读取和查看此文件系统。这就是你必须做 hadoop fs -ls 的原因,因为你在这里使用hadoop API来读取文件。 hdfs中的数据存储在块中,并存储在所有数据节点中。有关此文件系统的元数据存储在Namenode上。您在目录“/ home / hadoop / datastore”中看到的数据文件是存储在单个数据节点上的块。
我认为您应该在其教程中探索有关其文件系统的更多信息。 Yahoo, YDN tutorial on hdfs