mapreduce執行流程
1:執行mapred程式;(不是hadoop節點也可以提交程式)
2、本次執行將生成乙個job,於是jobclient向jobtracker(協調作業執行)申請乙個jobid以標識這個job;
3、jobclient將job所需要的資源提交到hdfs中乙個以jobid命名的目錄中。這些資源包括jar包、配置檔案、
inputsplit、等;
4:jobclient向jobtracker提交這個job;
5:jobtracker初始化這個job;
6:jobtracker從hdfs獲取這個job的split等資訊;
7:jobtracker向tasktracker分配任務;(心跳正常)
9:tasktracker開啟乙個新的jvm;
10:tasktracker用新的jvm來執行maptask或reducetask;此條圖示
我們下面模擬乙個mapreduce任務,解釋maptask和reducetask
1)乙個檔案file.txt;
2)儲存file.txt檔案到hdfs;
3) 統計file.txt檔案裡面」refund」個數;
1:client要計算 refund要出現多少次
2:job tracker 根據namenode發現file.txt有三塊,分別在datanode 1,2,5上面
3:執行task任務
map task(本地沒有檔案塊)
1:client要計算 refund要出現多少次
2:job tracker 根據namenode發現file.txt有三塊,分別在datanode 1,2,9上面,但是發現dn1
上面沒有bolck則在同機架上尋找block
3:執行task任務
1:maptask輸出資料到reducetask
2:reducetask將資料輸出到hdfs
hadoop批量計算框架 MapReduce
結合自身的經驗記錄,mapreduce中的一些知識點以及乙個wordcount小實踐 核心思想 分而治之 map程式 需要根據自己的需求開發 shuffle 緩衝區大小設定 core site.xml設定為100m io.file.buffer.size 100000000 以位元組為單位 hdfs...
Hadoop的分布式計算 MapReduce
什麼是mapreduce?你想數出一摞牌中有多少張黑桃。直觀方式是一張一張檢查並且數出有多少張是黑桃。mapreduce方法則是 1.給在座的所有玩家中分配這摞牌 2.讓每個玩家數自己手中的牌有幾張是黑桃,然後把這個數目匯報給你 3.你把所有玩家告訴你的數字加起來,得到最後的結論 1 mapredu...
Hadoop基本原理之一 MapReduce
1 為什麼需要hadoop 目前,一塊硬碟容量約為1tb,讀取速度約為100m s,因此完成一塊硬碟的讀取需時約2.5小時 寫入時間更長 若把資料放在同一硬碟上,且全部資料均需要同乙個程式進行處理,此程式的處理時間將主要浪費在i o時間上。在過去幾十年,硬碟的讀取速度並未明顯增長,而網路傳輸速度此飛...