HDFS 和YARN 的HA原理

HDFS: 
 

基礎架構 
1、NameNode(Master) 

1)命名空間管理:命名空間支持對HDFS中的目錄、文件和塊做類似文件系統的創建、修改、刪除、列表文件和目錄等基本操作。 

2)塊存儲管理。 
使用Active NameNode,Standby NameNode 兩個節點可以解決單點問題,兩個節點通過JounalNode共享狀態,通過ZKFC 選舉Active ,監控狀態,自動備份。 

1、Active NameNode 

接受client的RPC請求並處理,同時寫自己的Editlog和共享存儲上的Editlog,接收DataNode的Block report, block location updates和heartbeat。 

2、Standby NameNode 

同樣會接到來自DataNode的Block report, block location updates和heartbeat,同時會從共享存儲的Editlog上讀取並執行這些log操作,保持自己NameNode中的元數據(Namespcae information + Block locations map)和Active NameNode中的元數據是同步的。所以說Standby模式的NameNode是一個熱備(Hot Standby NameNode),一旦切換成Active模式,馬上就可以提供NameNode服務。 

3、JounalNode 

用於Active NameNode , Standby NameNode 同步數據,本身由一組JounnalNode節點組成,該組節點奇數個。 

4、ZKFC 

監控NameNode進程,自動備份。 

YARN: 

 

基礎架構 
1、ResourceManager(RM) 

接收客戶端任務請求,接收和監控NodeManager(NM)的資源情況彙報,負責資源的分配與調度,啓動和監控ApplicationMaster(AM)。 

2、NodeManager 

節點上的資源管理,啓動Container運行task計算,上報資源、container情況彙報給RM和任務處理情況彙報給AM。 

3、ApplicationMaster 

單個Application(Job)的task管理和調度,向RM進行資源的申請,向NM發出launch Container指令,接收NM的task處理狀態信息。 

4、Web Application Proxy 

用於防止Yarn遭受Web攻擊,本身是ResourceManager的一部分,可通過配置獨立進程。ResourceManager Web的訪問基於守信用戶,當Application Master運行於一個非受信用戶,其提供給ResourceManager的可能是非受信連接,Web Application Proxy可以阻止這種連接提供給RM。 

5、Job History Server 

NodeManager在啓動的時候會初始化LogAggregationService服務, 該服務會在把本機執行的container log (在container結束的時候)收集並存放到hdfs指定的目錄下. ApplicationMaster會把jobhistory信息寫到hdfs的jobhistory臨時目錄下, 並在結束的時候把jobhisoty移動到最終目錄, 這樣就同時支持了job的recovery.History會啓動web和RPC服務, 用戶可以通過網頁或RPC方式獲取作業的信息。 

HA架構 
ResourceManager HA 由一對Active,Standby結點構成,通過RMStateStore存儲內部數據和主要應用的數據及標記。目前支持的可替代的RMStateStore實現有:基於內存的MemoryRMStateStore,基於文件系統的FileSystemRMStateStore,及基於zookeeper的ZKRMStateStore。 ResourceManager HA的架構模式同NameNode HA的架構模式基本一致,數據共享由RMStateStore,而ZKFC成爲 ResourceManager進程的一個服務,非獨立存在。

集羣當中 datanode 和nodemanager 理論上是相同的

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章