【问题标题】:Request clarification on some HDFS concepts要求澄清一些 HDFS 概念
【发布时间】:2013-07-22 18:05:18
【问题描述】:

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

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

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

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

4) 命名空间 id 有什么用?是用来区分两个不同的文件系统实例的吗?

谢谢,

文卡特

【问题讨论】:

    标签: hadoop mapreduce hdfs


    【解决方案1】:

    命名空间信息在 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数据的一致性。

    我希望对您有所帮助,即使它与详尽的解释相去甚远。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-04-12
      • 1970-01-01
      • 2018-09-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多