MapReduce工作機制總結

2021-09-01 20:31:15 字數 932 閱讀 9016

總結從mapreduce程式中的jobclient.runjob(conf)開始,給出了mapreduce執行的流程圖(如下),並分析了流程圖中的四個核心實體,結合實際**介紹了mapreduce執行的詳細流程。

mapreduce的執行流程簡單概括如下:

介紹完mapreduce作業的詳細流程後,還重點介紹了mapreduce中採用的兩種機制,分別是錯誤處理機制和作業排程機制。在錯誤處理機制中,如果遇到硬體故障,mapreduce會將故障節點上的任務分配給其他節點處理。如果是任務失敗,則會重新執行。在作業排程機制中,主要介紹了公平排程器。這種策略能夠按照提交作業的使用者數目將資源公平的分到使用者的作業池中,以達到使用者公平共享整個集群的目的。

最後介紹了mapreduce中兩個流程的細節,分別是shuffle和任務執行。在shuffle中,從**入手介紹了map端和reduce端的shuffle過程以及shuffle優化。shuffle的過程可以概括為:在map端,當緩衝區內容達到閾值時map寫出內容。寫出時按照key值對資料排序,在按照劃分將資料寫入檔案,然後進行merge並將結果交給reduce。在reduce端,tasktracker先從執行map的tasktracker節點上覆制map輸出,然後對排序進行合併,最後進行reduce處理。關於任務執行則主要介紹了三個任務執行的細節,分別是推測式進行、jvm重用和執行環境。推測式執行是指jobtracker在作業執行過程中,發現某個作業執行速度過慢,為了不影響整個作業的完成進度,會啟動和這個作業完全相同的備份作業讓tasktracker執行,最後保留二者中較快完成的結果。jvm重用主要針對比較零碎的任務,對於新任務不是啟動系的呢jvm,二是在先前執行任務完畢的jvm上執行,這樣節省了啟動jvm的時間。在任務執行環境中主要介紹了任務執行引數的內容和任務目錄結構,以及任務臨時資料夾使用情況。

MapReduce工作機制總結

總結從mapreduce程式中的jobclient.runjob conf 開始,給出了mapreduce執行的流程圖 如下 並分析了流程圖中的四個核心實體,結合實際 介紹了mapreduce執行的詳細流程。mapreduce的執行流程簡單概括如下 介紹完mapreduce作業的詳細流程後,還重點介...

MapReduce工作機制

呼叫job的submit 方法執行mapreduce作業,也可以呼叫waitforcompletion 它用於提交以前沒有提交的作業並等待它的完成。job的submit 方法建立乙個內部的jobsummiter例項,並呼叫submitjobinternal 方法。提交作業後,waitforcompl...

大資料之MapReduce工作機制

mapreduce分布式計算系統,搭配yarn集群配合實現大資料計算任務。我們這裡不講mapreduce的 具體實現,而是講mapreduce的執行機制以及它的一些核心思想。了解了這些其實 都很簡單,只要有一些程式設計基礎的人都會寫得出那些 無非就是一堆檔案的內容進行分解整合變換的過程 mapred...