Hdfs INode结构说明

本文详细介绍了HDFS中INode的结构及其在目录和文件系统中的作用。INode包含文件或目录的基本信息,如名称、父节点、修改时间、访问时间和权限,模仿Unix系统。INodeDirectory和INodeFile作为INode的具体实现,分别代表目录和文件。INodeDirectory维护子节点列表,支持子节点的添加、删除和查找操作。INodeFile则关注文件的块信息和复制因子。此外,还讨论了INodeFileUnderConstruction,它是文件正在被写入时的状态,涉及租约管理和块的同步更新。
摘要由CSDN通过智能技术生成
INode类在Namenode中代表了一个树状结构即Namespace,表示的是目录和文件的抽象,INode类是一个抽象类,INodeFile和INodeDirectory是具体实现。
1. INode的变量有
protected byte[] name;
protected INodeDirectory parent;
protected long modificationTime;
protected long accessTime;
private long permission;

name表示的是该文件或目录名称,parent代表其父节点,modificationTime为修改时间,accessTime是最后访问时间,permission是权限,这些属性都是仿照unix系统的文件信息显示的。
2. boolean isRoot() 方法
检查是否是根节点,方法是
return name.length == 0;
3. public final ContentSummary computeContentSummary()
计算这个INode对象树状目录下的所有文件数,block占据的空间等
4. static String[] getPathNames(String path)
将整体目录转化为单一目录数组,举例来说,对于\test\a
返回一个String数组,长度是2,第一个元素是test,第二个元素是a
5. static byte[][] getPathComponents(String[] strings)
将4中的String数组转化为byte[][]数组
6. boolean removeNode()
将INode对象从树状目录结构中删除,方法是首先找到其父节点,
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值