前言
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)提供前台页面供用户查询作业的详细信息。 |