Hadoop MapReduce Job提交後的互動日誌
通過混合 NamdeNode, DataNode, ResourceManager,NodeManager的日誌輸出, 和 提交MapReduce Job的console輸出日誌,形成時間序列上的日誌輸出。
這樣可以方便檢視從client端提交job,整個hadoop的內部互動的大致過程。
MapReduce Job的console輸出來自執行簡單編寫的例子: bin/hadoop jar hellohadoop-1.0-SNAPSHOT.jar WordCount demo out 後的輸出。
HDFS檔案中儲存job的位置在 /tmp/hadoop-yarn/staging/bruce/.staging/job_1449210909990_0001下。
可以看到檔案:
appTokens
job.jar
job.split
job.splitmetainfo
job.xml
job.split和job.splitmetainfo兩個檔案儲存了有關InputSplit的資訊。我們知道,Hadoop MapReduce將所有的輸入檔案劃分成一個一個的InputSplit(劃分規則由InputFormat的實現類定義),且為每一個InputSplit,JobTracker將分配一個task交給TaskTracker去執行map。那麼,在啟動Job之前,首先需要完成檔案劃分,這個實際上是由Client端來執行。Client完成檔案劃分後,將劃分資訊寫入job.split和job.splitmetainfo,然後寫這兩個檔案到staging dir。
接下來的問題是,為什麼需要有兩個檔案,它們分別儲存了什麼樣的資訊?如下圖所示,job.split儲存了所有劃分出來的InputSplit,而每個InputSplit記錄如下資訊:
該Split的型別(ClassName, mostly org.apache.hadoop.mapreduce.lib.input.FileSplit)
該Split所屬檔案的路徑(FilePath)
該Split在所屬檔案中的起始位置(FileOffset)
該Split的位元組長度(Length)
job.splitmetainfo儲存了有關InputSplit的後設資料:
該Split在哪些Node上是local data(Location)
該Split對應的InputSplit在job.split檔案中的位置(SplitFileOffset)
該Split的位元組長度(Length, the same as that in job.split)
job.splitmetainfo提供給JobTracker讀取。比如,根據# Split,JobTracker能知道該分配多少個Task;根據Location,JobTracker能決定將該Split對應的Task分配給哪個Node去執行(優先分配到擁有該Split local data的Node)
job.split提供給TaskTracker讀取。根據FilePath, FileOffset, Length,TaskTracker知道從哪個檔案的哪個位置開始讀取要處理的Split data。
相關文章
- mapreduce job提交流程原始碼級分析(三)原始碼
- mapreduce job提交流程原始碼級分析(二)(原創)原始碼
- Mapreduce Job提交流程原始碼和切片原始碼詳解原始碼
- Hadoop學習第四天--MapReduce提交過程Hadoop
- hadoop window 遠端提交job到叢集並執行Hadoop
- 《Hadoop權威指南》-- mapreduce原理讀後感Hadoop
- job提交的原始碼分析原始碼
- 解鎖Nginx日誌的寶藏:GoAccess——你的實時、互動式Web日誌分析神器!NginxGoWeb
- 資料庫日誌中出現啟動JOB程式的TIMED OUT資訊資料庫
- hadoop自動提交指令碼Hadoop指令碼
- MapReduce&&HadoopHadoop
- 【Hadoop篇04】Hadoop配置日誌聚集Hadoop
- hadoop之 hadoop日誌存放路徑Hadoop
- MapReduce 示例:減少 Hadoop MapReduce 中的側連線Hadoop
- Hadoop學習——MapReduceHadoop
- hadoop_MapReduce yarnHadoopYarn
- Hadoop(十四)MapReduce概述Hadoop
- hadoop 日誌級別的調製方法.Hadoop
- Hadoop日記Day15---MapReduce新舊api的比較HadoopAPI
- hadoop的mapreduce串聯執行Hadoop
- Hadoop面試題之MapReduceHadoop面試題
- [hadoop]mapreduce原理簡述Hadoop
- yarn-per-job提交流程Yarn
- SVN解決不能檢視最近提交日誌的問題
- 輕鬆上手移動互聯——百度SiteApp建造日誌APP
- Hadoop1.x MapReduce的Slot的理解Hadoop
- Hadoop 專欄 - MapReduce 入門Hadoop
- hadoop MapReduce 三種連線Hadoop
- hadoop JOB的效能優化實踐Hadoop優化
- 改造xxl-job的客戶端日誌檔案生成體系客戶端
- windows下使用eclipse向linux叢集提交hadoop job問題與解決方法WindowsEclipseLinuxHadoop
- Hadoop面試題總結(三)——MapReduceHadoop面試題
- Hadoop學習之YARN及MapReduceHadoopYarn
- 使用hadoop mapreduce分析mongodb資料HadoopMongoDB
- Hadoop 新 MapReduce 框架 Yarn 詳解Hadoop框架Yarn
- Hadoop的mapreduce出現問題,報錯The auxService:mapreduce_shuffle does not existHadoopUX
- GoAccess:一個實時的 Web 日誌分析器及互動式檢視器GoWeb
- MapReduce job在JobTracker初始化原始碼級分析原始碼