hdfs 块信息

来源:互联网 发布:服务器与域名的关系 编辑:程序博客网 时间:2024/06/09 23:31

# 基础数据

block

这里是我们数据存储的基本单位,我们可以看到一个数据块对应的两个文件:
blk_1234
blk_1234_5678.meta

上面的1234就是这个数据块的编号, 5678是版本号。
对应的block结构就很简单

  private long blockId;        //块的唯一id  private long numBytes;       //占据的空间大小  private long generationStamp; //时间戳

这个结构中的很多函数就是针对这些成员进行操作的。

ExtendedBlock

扩展块,在原来块的基础上多了一个poolId

  private String poolId;  private Block block;

replicaMap

这里有个成员变量

  // Map of block pool Id to another map of block Id to ReplicaInfo.  private final Map<String, Map<Long, ReplicaInfo>> map =    new HashMap<String, Map<Long, ReplicaInfo>>();

从注视可以看出他是一个两层的map,第一层根据poolId获取pool中的所有数据(也是一个map),第二层通过blockId获取 ReplicaInfo

0 0