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訪問
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。