hadoop1.x和2.x的一些主要區別

shilei1發表於2016-09-01
當我們安裝完畢hadoop2的時候,我們看到為啥沒有jobtracker,這是因為hadoop2中已經沒有jobtracer了,而是產生了yarn,yarn是什麼那,可以看,我們為什麼已經安裝了,但是卻不知道已經成功了,原因是因為我們缺乏hadoop2的認識,下面介紹了hadoop1.X與hadoop2.X的一些常用概念。
問題導讀:
1.hadoop1.0的組成是什麼?
2.hadoop2.0為和變化如此大?
3.什麼是YARN?
4.什麼是HDFS Federation?




(1)Hadoop 1.0
Hadoop 1.0即第一代Hadoop,由分散式儲存系統HDFS和分散式計算框架MapReduce組成,其中,HDFS由一個NameNode和多個DataNode組成,MapReduce由一個JobTracker和多個TaskTracker組成,對應Hadoop版本為Apache Hadoop 0.20.x、1.x、0.21.X、0.22.x和CDH3。
(2)Hadoop 2.0
Hadoop 2.0即第二代Hadoop,為克服Hadoop 1.0中HDFS和MapReduce存在的各種問題而提出的。針對Hadoop 1.0中的單NameNode制約HDFS的擴充套件性問題,提出了HDFS Federation,它讓多個NameNode分管不同的目錄進而實現訪問隔離和橫向擴充套件,同時它徹底解決了NameNode 單點故障問題;針對Hadoop 1.0中的MapReduce在擴充套件性和多框架支援等方面的不足,它將JobTracker中的資源管理和作業控制功能分開,分別由元件ResourceManager和ApplicationMaster實現,其中,ResourceManager負責所有應用程式的資源分配,而ApplicationMaster僅負責管理一個應用程式,進而誕生了全新的通用資源管理框架YARN。基於YARN,使用者可以執行各種型別的應用程式(不再像1.0那樣僅侷限於MapReduce一類應用),從離線計算的MapReduce到線上計算(流式處理)的Storm等。Hadoop 2.0對應Hadoop版本為Apache Hadoop 0.23.x、2.x和CDH4。


(3)MapReduce 1.0或MRv1
MapReduce 1.0計算框架主要由三部分組成,分別是程式設計模型、資料處理引擎和執行時環境。它的基本程式設計模型是將問題抽象成Map和Reduce兩個階段,其中Map階段將輸入資料解析成key/value,迭代呼叫map()函式處理後,再以key/value的形式輸出到本地目錄,而Reduce階段則將key相同的value進行規約處理,並將最終結果寫到HDFS上;它的資料處理引擎由MapTask和ReduceTask組成,分別負責Map階段邏輯和Reduce階段邏輯的處理;它的執行時環境由(一個)JobTracker和(若干個)TaskTracker兩類服務組成,其中,JobTracker負責資源管理和所有作業的控制,而TaskTracker負責接收來自JobTracker的命令並執行它。該框架在擴充套件性、容錯性和多框架支援等方面存在不足,這也促使了MRv2的產生。
(4)MRv2
MRv2具有與MRv1相同的程式設計模型和資料處理引擎,唯一不同的是執行時環境。MRv2是在MRv1基礎上經加工之後,執行於資源管理框架YARN之上的計算框架MapReduce。它的執行時環境不再由JobTracker和TaskTracker等服務組成,而是變為通用資源管理系統YARN和作業控制程式ApplicationMaster,其中,YARN負責資源管理和排程,而ApplicationMaster僅負責一個作業的管理。簡言之,MRv1僅是一個獨立的離線計算框架,而MRv2則是執行於YARN之上的MapReduce。
(5)YARN
YARN是Hadoop 2.0中的資源管理系統,它是一個通用的資源管理模組,可為各類應用程式進行資源管理和排程。YARN不僅限於MapReduce一種框架使用,也可以供其他框架使用,比如Tez(將在第9章介紹)、Spark、Storm(將在第10章介紹)等。YARN類似於幾年前的資源管理系統Mesos(將在12章介紹)和更早的Torque(將在6章介紹)。由於YARN的通用性,下一代MapReduce的核心已經從簡單的支援單一應用的計算框架MapReduce轉移到通用的資源管理系統YARN。
(6)HDFS Federation
Hadoop 2.0中對HDFS進行了改進,使NameNode可以橫向擴充套件成多個,每個NameNode分管一部分目錄,進而產生了HDFS Federation,該機制的引入不僅增強了HDFS的擴充套件性,也使HDFS具備了隔離性。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/196700/viewspace-2124370/,如需轉載,請註明出處,否則將追究法律責任。

相關文章