當前位置:編程學習大全網 - 編程軟體 - yarn和傳統的mapreduce的主要區別在哪裏?

yarn和傳統的mapreduce的主要區別在哪裏?

Hadoop

它是壹個分布式系統基礎架構,由Apache基金會所開發。

用戶可以在不了解分布式底層細節的情況下,開發分布式程序。充分利用集群的威力進行高速運算和存儲。

Hadoop的框架最核心的設計就是:HDFS和MapReduce.HDFS為海量的數據提供了存儲,則MapReduce為海量的數據提供了計算。

Yarn

它是Hadoop2.0的升級版。

Yarn 的優點:

這個設計大大減小了 JobTracker(也就是現在的 ResourceManager)的資源消耗,並且讓監測每壹個 Job 子任務 (tasks) 狀態的程序分布式化了,更安全、更優美。

在新的 Yarn 中,ApplicationMaster 是壹個可變更的部分,用戶可以對不同的編程模型寫自己的 AppMst,讓更多類型的編程模型能夠跑在 Hadoop 集群中,可以參考 hadoop Yarn 官方配置模板中的 mapred-site.xml 配置。

對於資源的表示以內存為單位 ( 在目前版本的 Yarn 中,沒有考慮 cpu 的占用 ),比之前以剩余 slot 數目更合理。

老的框架中,JobTracker 壹個很大的負擔就是監控 job 下的 tasks 的運行狀況,現在,這個部分就扔給 ApplicationMaster 做了,而 ResourceManager 中有壹個模塊叫做 ApplicationsMasters( 註意不是 ApplicationMaster),它是監測 ApplicationMaster 的運行狀況,如果出問題,會將其在其他機器上重啟。

Container 是 Yarn 為了將來作資源隔離而提出的壹個框架。這壹點應該借鑒了 Mesos 的工作,目前是壹個框架,僅僅提供 java 虛擬機內存的隔離 ,hadoop 團隊的設計思路應該後續能支持更多的資源調度和控制 , 既然資源表示成內存量,那就沒有了之前的 map slot/reduce slot 分開造成集群資源閑置的尷尬情況。

  • 上一篇:如何制作高清晰的ICO圖標
  • 下一篇:快速切換動態ip需要註意什麽?
  • copyright 2024編程學習大全網