**:
1、什麼是yarn?
2、yarn 和mapreduce相比,它有什麼特殊作用 ?
yarn是乙個分布式的資源管理系統,用以提高分布式的集群環境下的資源利用率,這些資源包括記憶體、io、網路、磁碟等。其產生的原因是為了解決原mapreduce框架的不足。最初mapreduce的committer們還可以週期性的在已有的**上進行修改,可是隨著**的增加以及原mapreduce框架設計的不足,在原mapreduce框架上進行修改變得越來越困難,所以mapreduce的committer們決定從架構上重新設計mapreduce,使下一代的mapreduce(mrv2/yarn)框架具有更好的擴充套件性、可用性、可靠性、向後相容性和更高的資源利用率以及能支援除了mapreduce計算框架外的更多的計算框架。
am的生命週期:asm負責系統中所有am的生命週期的管理。asm負責am的啟動,當am啟動後,am會週期性的向asm傳送heartbeat,預設是1s,asm據此了解am的存活情況,並且在am失敗時負責重啟am,若是一定時間過後(預設10分鐘)沒有收到am的heartbeat,asm就認為該am失敗了。
關於resourcemanager的可用性目前還沒有很好的實現,不過cloudera公司的cdh4.4以後的版本實現了乙個簡單的高可用性,使用了hadoop-common專案中ha部分的**,採用了類似hdfs namenode高可用性的設計,給rm引入了active和standby狀態,不過沒有與journalnode相對應的角色,只是由zookeeper來負責維護rm的狀態,這樣的設計只是乙個最簡單的方案,避免了手動重啟rm,離真正的生產可用還有一段距離。
在nm上還可以擴充套件自己的服務,yarn提供了乙個yarn.nodemanager.aux-services的配置項,通過該配置,使用者可以自定義一些服務,例如map-reduce的shuffle功能就是採用這種方式實現的。
container目錄下的目錄結構如下:
mrv2執行流程:
mr jobclient向resourcemanager(asm)提交乙個job
asm向scheduler請求乙個供mr am執行的container,然後啟動它
mr am啟動起來後向asm註冊
mr jobclient向asm獲取到mr am相關的資訊,然後直接與mr am進行通訊
mr am計算splits並為所有的map構造資源請求
mr am做一些必要的mr outputcommitter的準備工作
mr am向rm(scheduler)發起資源請求,得到一組供map/reduce task執行的container,然後與nm一起對每乙個container執行一些必要的任務,包括資源本地化等
mr am 監視執行著的task 直到完成,當task失敗時,申請新的container執行失敗的task
當每個map/reduce task完成後,mr am執行mr outputcommitter的cleanup **,也就是進行一些收尾工作
當所有的map/reduce完成後,mr am執行outputcommitter的必要的job commit或者abort apis
mr am退出。
Hadoop1 和hadoop2 的異同簡潔總結
mapreduce將jobtracker中的資源管理和任務的生命週期,更名為yarn。resourcemanager和nodemanager mapreduce將jobtracker中的資源管理和任務的生命週期,更名為yarn。resourcemanager和nodemanager 1.從clien...
hadoop2體系結構
hadoop1的核心組成是兩部分,即hdfs和mapreduce。在hadoop2中變為hdfs和yarn。新的hdfs中的namenode不再是只有乙個了,可以有多個 目前只支援2個 每乙個都有相同的職能。這兩個namenode的地位如何哪?答 乙個是active狀態的,乙個是standby狀態的...
Hadoop分布式安裝hadoop2
將hadoop安裝至 usr local 中 cd downloads sudo tar zxvf hadoop 2.7.1.tar.gz c usr local 解壓到 usr local中 cd usr local sudo mv hadoop 2.7.1 hadoop 將資料夾名改為hadoo...