h0945466 发表于 2018-10-30 06:49:12

Hadoop 源码目录树

  1、NameNode
  ---FSNamesystem:
  ------FSDirectory 目录树
  ---------INodeDirectory节点目录
  ------------List children子节点)
  ---------------INodeDirectory
  ---------------INodeFile
  ------------------BlockInfo[]文件块(一个文件块包括所有的DataNode 存储信息)
  ---------------------Object[] triplets 存储(DatanodeStorageInfo包话{DatanodeDescriptor,DatanodeStorage})
  ---------------------BlockCollection保存的是INodeFile
  ---------------INodeSymlink
  ---------INodeMap
  ------BlockManager hdfs块管理器
  ---------DatanodeManager(注册、删除、添加)
  ------------HostFileManager 读取include/exclude 文件,精细化管理DataNode上架,下架
  ------------NetworkTopology 网络拓扑图,用于机架感知
  ---------HeartbeatManager 心跳包管理器,与DataNode 保持通信
  ---------BlockTokenSecretManager 块安全验证管理器
  ---------BlocksMap 块映射存储所有块的信息
  ------LeaseManager 租约管理器
  ---NameNodeRpcServer 对外提供的所有RPC接口调用
  ---NameNodeHttpServer 对外提供的web 访问
  ---HAContext{NameNodeHAContext}用于NameNode HA 高可用性
  ---HAState包括ActiveState、BackupState、StandbyState 三种状态
  2、DataNode
  ---BlockPoolManager
  ------List
  ---------BPServiceActor 注册、心跳、接收块、删除块、更新块、坏块报告等
  ---FsDatasetSpi {FsDatasetImpl}数据节点,对所有目录数据块文件操作
  ---DataXceiverServer 数据节点,数据接收、发送服务
  ---DataBlockScanner 数据节点块扫描器
  ---DirectoryScanner 数据节点目录扫描器
  ---BlockPoolTokenSecretManager
  ---HttpServer2 对外提供的Web访问

页: [1]
查看完整版本: Hadoop 源码目录树