前言
TDW是基於Hadoop生態圈研發的大數據處理平臺,MapReduce計算引擎在TDW平臺中承擔了所有的離線數據計算,是TDW最重要的底層支撐平臺之一。在TDW 平臺中,除了MR程序會生成MapReduce作業外,被廣泛應用的Hive、tPig等計算框架最終也會把查詢語言翻譯成MapReduce作業來進行計算,因此對MapReduce作業運行信息進行收集並提供給開發人員查詢分析,是他們定位業務問題的最重要手段。不僅僅如此,基於收集的MapReduce作業運行信息,還能建立衆多的監控指標來對整個MapReduce計算引擎的健康度進行監控。因此,收集MapReduce作業的運行信息對整個Hadoop平臺的使用和穩定運行都是十分必要的。
【備註:TDW是騰訊開源項目之一,點此可查看更多TDW內容】 HadoopDoctor介紹
HadoopDoctor,是TDW專門收集MapReduce作業運行信息的系統。HadoopDoctor不需要對集羣的Hadoop代碼進行修改,是TDW的外圍系統,獨立運行,與Hadoop自帶的HistoryServer服務相比,HadoopDoctor支持作業信息的多維度查詢和支持統計分析。 作業信息採集與存儲 (1)MapReduce V1架構下的HadoopDoctor
(2)Corona/MapReduce V2架構下的HadoopDoctor 從Corona架構開始,MapReduce便實現了JobTracker分散化功能,集羣資源調度由ClusterManager(簡稱CM)實現,JobTracker作爲進程運行在子節點CoronaTaskTracker(簡稱CTT)上面,只負責監控一個MR作業的運行管理。MapReduceV2也是實現了JobTracker分散化功能,集羣的資源調度由ResourceManager(簡稱RM)實現,JobTracker抽象成ApplicaitonMaster(簡稱AM)作爲一個Container運行在子節點NodeManager(簡稱NM)上面,只負責監控一個MR作業的運行管理。Corona/MapreduceV2的MR作業同樣會產生JobConf和JobHistory文件,但由於JobTracker分散化後,這兩個文件也分佈到各個子節點上面,因此作業信息採集需要分佈到各個子節點上面進行。 新架構下的HadoopDoctor引入DoctorMaster新角色,其職責是從CM/RM獲取子節點列表,定時、分批次地拉起子節點的doctorparser程序對作業的JobConf和JobHistory進行解析寫到tPG,有效控制tPG的寫併發量。
數據冷備
數據使用
(1)提供前臺頁面供用戶查詢作業的詳細信息。 |