请求澄清一些HDFS概念

时间:2013-07-23 15:09:53

标签: hadoop mapreduce hdfs

我不确定这些问题是否属于这里。如果没有,那么我道歉。我正在阅读HDFS论文,我发现很难理解一些术语。请在下面找到我的问题。

1)根据论文,“HDFS命名空间是文件和目录的层次结构。文件和目录在NameNode上由inode表示,它记录属性,如权限,修改和访问时间,命名空间和磁盘空间配额。 “ 命名空间信息在inode中的确切含义。这是否意味着文件的完整路径?因为,前面的语句说“HDFS命名空间是文件和目录的层次结构”。

2)根据文章“NameNode维护命名空间树以及文件块到DataNodes的映射 (文件数据的物理位置)。“命名空间树和命名空间是否相同?请参阅第1点关于命名空间的定义。如何存储命名空间树信息?是否存储为inode的一部分,每个inode也将有一个父inode指针?

3)根据论文,“HDFS将整个命名空间保留在RAM中.Inode数据和属于每个文件的块列表包含名为系统的名称系统的元数据。”图像是否还包含命名空间?

4)命名空间ID的用途是什么?它是用于区分两个不同的文件系统实例吗?

谢谢,

Venkat

1 个答案:

答案 0 :(得分:2)

  

命名空间信息在inode中的确切含义。这是否意味着文件的完整路径?因为,之前的声明说“HDFS命名空间是文件和目录的层次结构

这意味着您可以像在系统上一样浏览文件(通过hadoop dfs -ls之类的命令),您会看到如下结果:/user/hadoop/myFile.txt但物理上这个文件在几个块中分布在您的集群上根据您的复制因素

  

命名空间树和命名空间是否相同?有关命名空间的定义,请参阅第1点。如何存储命名空间树信息?它是作为inode的一部分存储的,其中每个inode也有一个父inode指针吗?

使用hadoop dfs -copyFrom local myfile.txt /user/hadoop/myfile.txt等命令复制HDFS上的文件时,将根据dfs.block.size值(默认为64MB)对文件进行拆分。然后,块将分布在您的数据节点(用于存储的节点)上。 namenode保留所有块的映射,以便在启动时(或使用hadoop fsck /等命令)验证数据的完整性。

  

图像是否也包含命名空间?

对于这个我不确定,但我认为命名空间也在RAM中。

  

命名空间ID有什么用?它是用于区分两个不同的文件系统实例吗?

是的,命名空间id只是一个ID,它确保了datanode数据的一致性。

我希望这可以帮助你,甚至远远不是一个详尽的解释。

相关问题