兩個網頁查看集群情況
- master:8088查看mapreduce任務的執行情況。有任務ID,任務運行狀態,任務執行程度。
- localhost:50070查看HDFS目錄,查看DataNode信息,集群信息。
文件存儲位置
在datanode節點下,在目錄/usr/local/hadoop/tmp/dfs/data/current/下可以找到存儲的文件
一般一個文件一個塊,文件占用小於塊容量的時候。9個小文件,9個塊。
日志信息
運行文件內容過濾任務。grep。
- 先和ResourceManager建立連接
- 讀取9個塊
- 9個切片,幾個切片幾個map任務
- 確定jobID,並向YARN發送jobID
- 查詢job,通過master:8088
- 執行mapreduce任務
- 顯示map進度,reduce進度
出現map沒跑到100%,就有reduce跑的情況
這里是有一個閾值,當map任務完成到閾值,就會啟動reduce任務。當一個map運行結束時,reduce就會從jobtracker中獲得該信息(map運行結束,tasktracker會得到消息,把消息發送給jobtracker)。reduce獲取信息后,就開始工作。
mapreduce.job.reduce.slowstart.completedmaps
//當maptask完成的比例達到該值后,才會為reducetask申請資源,不然會出現資源給reducetask申請了,map沒資源可用
yarn.app.mapreduce.am.job.reduce.rampup.limit
//在maptask完成前,最多啟動的reducetask
yarn.app.mapreduce.am.job.reduce.preemption.limit
//maptask需要資源但無法獲取資源時,可以搶占reduce資源的比例
完成job任務后,會顯示各個參數信息
File System Counters
讀取的字節數
寫入的字節數
Job Counters
死去的map數
開啟的map數
開啟的reduce數
Map-Reduc Framework
map 輸入的記錄數,幾行
map 輸出的記錄數
combine 輸入的行數
combine 輸出的行數
reduce 輸入組數
reduce 輸入的行數
reduce 輸出行數
grep
- 對9個文件,9個塊,分成9個map輸入。
過濾含dfs[a-z.]+開頭的行記錄。 - 將含dfs[a-z.]+的行記錄輸出到本地磁盤,共有5個。
- 再由一個mapreduce任務,把5個記錄匯集到同一個文件。可能有些記錄在slave1,有些在slave2。
- 把最后任務結果上傳到datanode