<a href="http://s1.51cto.com/wyfs02/M02/8A/79/wKioL1gyQbbiyCfEAAB7pp0q304190.png-wh_500x0-wm_3-wmp_4-s_4068420509.png" target="_blank"></a>
1.NameNode:
相當于一個上司者,負責排程 ,比如你需要存一個1280m的檔案如果按照128m分塊 那麼namenode就會把這10個塊(這裡不考慮副本)配置設定到叢集中的datanode上并記錄對于關系 。當你要下載下傳這個檔案的時候namenode就知道在那些節點上給你取這些資料了。它主要維護兩個map 一個是檔案到塊的對應關系 一個是塊到節點的對應關系。
2. secondarynamenode:
它是namenode的一個快照,會根據configuration中設定的值來決定多少時間周期性的去cp一namenode,記錄namenode中的metadata及其它資料
3. NodeManager(NM):
1、是YARN中每個節點上的代理,它管理Hadoop叢集中單個計算節點
2、包括與ResourceManger保持通信,監督Container的生命周期管理,
3、監控每個Container的資源使用(記憶體、CPU等)情況,追蹤節點健
4、康狀況,管理日志和不同應用程式用到的附屬服務(auxiliary service)
4.DataNode:
a.DataNode的需要完成的首要任務是K-V存儲
b.完成和namenode 通信 ,這個通過IPC 心跳連接配接實作,此外還有和用戶端 其它datanode之前的資訊交換。
c.完成和用戶端還有其它節點的大規模通信,這個需要直接通過socket 協定實作。
5.ResourceManager:
在YARN中,ResourceManager負責叢集中所有資源的統一管理和配置設定,它接收來自各個節點(NodeManager)的資源彙報資訊,并把這些資訊按照一定的政策配置設定給各個應用程式(實際上是ApplicationManager)RM與每個節點的NodeManagers (NMs)和每個應用的ApplicationMasters (AMs)一起工作。
a.NodeManagers 遵循來自ResourceManager的指令來管理單一節點上的可用資源。
b.ApplicationMasters負責與ResourceManager協商資源與NodeManagers合作啟動容器
本文轉自 DBAspace 51CTO部落格,原文連結:http://blog.51cto.com/dbaspace/1874858