Hadoop 源码目录树

1、NameNode

—FSNamesystem:

——FSDirectory 目录树

———INodeDirectory节点目录

————List<INode> 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 块映射[BlockInfo]存储所有块的信息

——LeaseManager 租约管理器

NameNodeRpcServer 对外提供的所有RPC接口调用

NameNodeHttpServer 对外提供的web 访问

HAContext{NameNodeHAContext}用于NameNode HA 高可用性

HAState包括ActiveState、BackupState、StandbyState 三种状态

2、DataNode

BlockPoolManager

——List<BPOfferService>

———BPServiceActor 注册、心跳、接收块、删除块、更新块、坏块报告等

FsDatasetSpi {FsDatasetImpl}数据节点,对所有目录数据块文件操作

DataXceiverServer 数据节点,数据接收、发送服务

DataBlockScanner 数据节点块扫描器

DirectoryScanner 数据节点目录扫描器

BlockPoolTokenSecretManager

HttpServer2 对外提供的Web访问 

原创文章,作者:奋斗,如若转载,请注明出处:https://blog.ytso.com/tech/opensource/192508.html

(0)
上一篇 2021年11月15日 01:55
下一篇 2021年11月15日 01:56

相关推荐

发表回复

登录后才能评论