從計算框架MapReduce看Hadoop1.0和2.0的區別

1、1.0版本

主要由兩部分組成:編程模型運行時環境編程

編程模型爲用戶提供易用的編程接口,用戶只需編寫串行程序實現函數來實現一個分佈式程序,其餘如節點間的通訊、節點失效,數據切分等,則由運行時環境完成。框架

基本編程模型將問題抽象成MapReduce兩個階段,Map階段將輸入數據解析成key/value,迭代調用map()函數後,再以key/value的形式輸出到本地目錄;Reduce階段則將key相同的value進行歸約處理,並將最終結果寫入到HDFS分佈式

運行時環境由JobTrackerTaskTracker兩類服務組成,JobTracker負責資源管理和全部做業的控制,TaskTracker負責接收來自JobTracker的命令並執行。函數


2、2.0版本

2.0版本在編程模型上是同樣的,可是在運行時環境上引入全新的資源管理框架:YARN,將JobTracker中的資源管理做業控制功能分開,分別由兩個不一樣進程ResourceManagerApplicationMaster實現,ResourceManager負責全部應用程序的資源分配,Application負責管理一個應用程序。接口


3、其餘區別

在HDFS方面,2.0版本引入HDFS Federation,它讓多個NameNode分管不一樣的目錄進而實現訪問隔離和橫向擴展,同時完全解決NameNode單點故障問題。進程


4、總結

能夠看出,在計算框架MapReduce方面,1.0和2.0的主要差別仍是在資源管理方面,YARN的引入讓MapReduce在擴展性和多框架支持方面更加完善。而存儲系統引入HDFS聯盟來解決1.0版本的擴展問題。資源

相關文章
相關標籤/搜索