2017-03-31 24 views
1

對於Hadoop 1.x中的術語「MapReduce」,我有點困惑。就此而言,我遇到了各種術語,如:JobTracker,TaskTracker(MapReduce中的守護進程)。現在,當我們說MapReduce時,它是指這些守護進程還是開發人員用來編寫MapReduce應用程序的API?瞭解Hadoop 1.x中的MapReduce

用戶應用程序是否在TaskTrackerJobTracker上執行? MapReduce本身是一個運行時環境嗎?

任何人都可以幫我理解這個簡單的話嗎?

回答

1

MapReduce是數據處理的編程模型(在Hadoop中)。

它在Hadoop-1.x中的實現通常被稱爲Classic Hadoop實現(或MapReduce v1),它使用Hadoop的JobTrackerTaskTrackers執行作業及其對應的API(面向用戶的客戶端功能)寫他們。

  • JobTracker協調作業運行。
  • TaskTrackers運行作業已拆分成的任務。

綜上所述,MapReduce的API的決定MapReduce編程模型如何已被寫入,而執行決定如何使用這種編程模型編寫的作業被執行。

MapReduce編程模型的紗線實現(MapReduce的V2)的區別在於它用於書寫,並用於執行守護程序(ResourceManagerApplicationMasterNodeManagers)的API。

+0

非常感謝您的回覆。我的困惑是:「JobTask」; 「TaskTracker」構成運行時環境?當我們說MapReduce的時候,它意味着所有的「MR API」,「運行時環境」(加上其他任何東西?) – CuriousMind

+0

非常感謝您的寶貴意見,出於某些原因,我有這個疑問。時間環境構成了MR框架的「整體」(無論是YARN還是經典),我希望這是正確的理解:) – CuriousMind

+0

謝謝,這是我自己提出問題的疑問。 YARN如何能夠完全運行不同的程序(如YARN上的Spark)。我想清除MR API和運行時的基礎知識,然後提出這個問題。你能幫我理解嗎? – CuriousMind