HDFS---Namenode

Overview

 Namenode 是HDFS中負責namespace管理的節點,Namenode 保存了當前集羣中所存儲的的全部的文件的元數據信息,namenode同時與集羣中其它的節點通訊,以保持元數據與系統中的文件的一致性,同時也和client通訊,以響應client對文件的須要。node


NameNode中主要有兩個大類來處理這些需求,app

FSNamesystem ---- 是一個門面類,主要經過該類調用系統中相應實現來維護namespace信息;spa

NameNodeRpcServer: 是一個ipc實現類,實現了各類protocols, 來與系統中的各個節點通訊:orm

NamenodeProtocol: 用來與BackupNode,CheckpointNode,SecondaryNode通訊交換數據;ip

ClientProtocol: 用來與DFSClient通訊,讀寫系統中的文件信息;it

DatanodeProtocol: 用來與DataNode通訊,發佈命令,接收DataNode的報告;io

RefreshAuthorizationPlolicyProtocol: 刷新系統權限列表;form

RefreshUserMappingsProtocol:刷新系統中用戶映射信息;集羣

GetUserMappingsProtocol:獲取用戶映射信息;cli

HAServiceProtocol:與組成HA的Node通訊,監測Node狀態,並在失敗時執行failover操做。

NameNode 啓動



Generalize 

Hdfs爲了實現向後兼容,在系統啓動的時候會把一些與在NameserService相關的配置項用相同的值再創建一個原來系統中使用的配置項。

Security information

初始化用戶機關信息。

LoadNamesystem

調用FSNamasystem.loadFromDisk初始Namesystem 實例,從而初始化文 件管理 的各個manager:
BlockManager:管理集羣中全部的Block相關信息;
DatanodeManager:BlockManager經過該類管理與block現datanode相關連的信息。
FSImage:FSNamesystem,經過該類存儲系統中文件的給構信息;
FSDirecoty:經過該類與本地文件系統創建連繫;
SnapshotManager



Initialize NamenodeRpcServer


StartHttpServer


Start all Services and RpcServer

相關文章
相關標籤/搜索