首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 服务器 > 云计算 >

namenode上块管理-BlockMap

2013-10-21 
namenode上块管理--BlockMapBlockInfo继承自Block类,是块的信息类,含以下变量:private INodeFileinode//

namenode上块管理--BlockMap
BlockInfo继承自Block类,是块的信息类,含以下变量:
private INodeFile  inode;//块所在的文件(在INodeFile中有INodeFile.blocks表示构成此文件的所有块)
private Object[] triplets;//此块所在的Datanodes三元组,类似于双向链表
triples的赋值方法:

BlockMap.removeBlock(BlockInfo)用于将BlockInfo删除整个块。为了删除整个块,需要将每个副本从其所在的Datanode中删除,最后从map删除。  void removeBlock(BlockInfo blockInfo) {    if (blockInfo == null)      return;    blockInfo.inode = null;    for(int idx = blockInfo.numNodes()-1; idx >= 0; idx--) {      DatanodeDescriptor dn = blockInfo.getDatanode(idx);      dn.removeBlock(blockInfo); // remove from the list and wipe the location    }    map.remove(blockInfo);  // remove block from the map  }

热点排行