`

INodeFile类图描述

 
阅读更多

针对具体存储在hdfs上的文件有个对象来模型化他那就是INodeFile这个类,因为hdfs文件系统也是树形结构的,故衍生出一些其他类来模型化这些对象,见类图描述如下

 


   INode

 

Java代码   收藏代码
  1. /**  
  2.  * We keep an in-memory representation of the file/block hierarchy.  
  3.  * This is a base INode class containing common fields for file and   
  4.  * directory inodes.  
  5.  */   

 

    INodeFile

 

Java代码   收藏代码
  1. hdfs中文件的描述形式,文件的静态属性描述  

 

    INodeFileUnderConstruction

 

Java代码   收藏代码
  1. hdfs中文件的动态描述形式   例如租约持有期间的更新等,例如块的恢复等。  
  2.   
  3. clientName;         // lease holder   
  4. primaryNodeIndex = -1 //the node working on lease recovery   
  5. DatanodeDescriptor[] targets = null ;    //locations for last block   
  6. long  lastRecoveryTime  

 

      INodeDirectory

 

Java代码   收藏代码
  1. /**  
  2.  * Directory INode class.  
  3.  */   

 

     INodeDirectoryWithQuota

 

Java代码   收藏代码
  1. /**  
  2.  * Directory INode class that has a quota restriction  
  3.  */   

 

     DirCounts

 

Java代码   收藏代码
  1. /** Simple wrapper for two counters :   
  2.   *  nsCount (namespace consumed) and dsCount (diskspace consumed).  
  3.   */   

 

更多信息请查看 java进阶网 http://www.javady.com

分享到:
评论

相关推荐

    源代码分析(一九).docx

    2. **子类INodeDirectory和INodeFile**:`INodeDirectory`代表目录,有一个`children`列表,存储其下所有子节点(目录和文件)。`INodeFile`则表示文件,最重要的是`blocks`数组,存储文件所分片的Block信息。此外,...

    Hadoop技术-HDFS目录树.pptx

    除了继承自INode和INodeWithAdditionalFields的属性,INodeFile还包含了文件特有的属性: - **Header**:存储了文件的存储策略信息,例如数据块大小、编码类型等。 - **Blocks**:记录了文件中所有数据块的信息,...

    Hadoop源代码分析(一九)

    `INode`作为一个抽象类,是目录(`INodeDirectory`)和文件(`INodeFile`)的父类。`INodeDirectoryWithQuota`则是一个特殊类型的目录,它引入了容量限制,以管理HDFS的存储资源。 `INode`类中包含了关键属性,如...

    Hadoop源代码分析(三零)

    一旦所有条件满足,`finalizeINodeFileUnderConstruction`会被调用,释放租约、将`INodeFileUnderConstruction`转换为`INodeFile`、写日志并可能启动新的复制任务以确保副本数符合要求。 这些操作展示了HDFS如何...

    Hadoop编程思想

    - **INodeDirectory/INodeFile**: 分别代表目录和文件的信息,包含指向具体数据块的引用。 - **BlocksMap**: 映射数据块到相应的文件节点。 #### Map-Reduce MapReduce是一种用于处理和生成大型数据集的编程模型,...

    Hadoop源代码分析(三三)

    - 验证文件对应的`INodeFile`是否存在且处于构造状态。 - 如果文件处于构造状态但没有目标DataNode且没有数据块,则完成文件构建(此时会释放租约)。 - 如果文件处于构造状态且有数据块,则将最后一个未完成的数据...

Global site tag (gtag.js) - Google Analytics