3. 数据块节点管理

DatanodeDescriptor #

继承关系 #

属性 #

DatanodeStorageInfo #

DatanodeStorageInfo 类描述了Datanode 上的一个存储(storage),一个Datanode 可以定 义多个存储(在dfs.datanode.data.dir中配置多个Datanode的存储目录)来保存数据块,这些 存储还可以是异构的,例如可以是磁盘、内存、SSD等。
需要特别注意的是,在HDFS2.6版本前,Namenode内存中维护的第二关系是数据块与保存数据块副本的数据节点的对应关 系,也就是Block与DatanodeDescriptor的对应关系。
Block -> DatanodeDescriptor
在HDFS 2.6版本中,为了支持Datanode的异构存储特性,Namenode内存中维护的第二关系变成了数据块与保存数据块副本的数据节 点存储的对应关系,也就是Block与DatanodeStorageInfo的对应关系,同时块汇报的单位也 由Datanode变为了DatanodeStorageInfo。
Block -> DatanodeStorageInfo

属性 #

方法 #

addBlock() #

DatanodeManager #

Namenode对Datanode 的管理类

属性 #

添加/撤销Datanode #

Datanode启动 #

Datanode心跳 #