论文部分内容阅读
MapReduce框架和其开源实现Hadoop自从问世以来,受到了学术界和工业界的广泛关注和使用。但是开发一个高效的MapReduce应用通常需要大量的MapReduce集群使用经验甚至需要理解MapReduce模型的底层工作机理。另外,快速建立一个可用的MapReduce集群环境也是用户比较关心的一个话题。因此,快速部署MapReduce集群环境、并实时展示MapReduce的工作流程是更好理解、应用甚至完善MapReduce模型过程中必须要研究的重要课题。Hadoop部署与追踪系统HDTS(Hadoop Deploy and Tracing System),旨在提供先部署MapReduce集群环境然后对MapReduce作业进行追踪的一体化解决方案。其中部署子系统提供了一种不需要用户接触机器便能快速部署、配置Hadoop集群环境的一种解决方案;而追踪子系统提供了一种在Hadoop集群环境部署成功后,实时展示MapReduce工作流程的解决方案。部署子系统向用户提供友好的用户界面,使用户在几个步骤之内轻松完成大规模Hadoop集群的配置、分发、启动等工作;追踪子系统基于对Hadoop源码工程的深刻理解,通过在源码中插入追踪代码,使得用户可以在追踪客户端直观感受、并且参与到MapReduce作业的运行。追踪子系统通过一种观察点的机制来保证追踪子系统实时地、精确地向用户提供追踪信息。追踪子系统使用自己修改过的追踪内核,用户在装配了这个新的内核之后,其所有接下来的操作与平时操作无异,多个用户能在任何装有追踪子系统客户端的节点上同时开启追踪客户端。因此,HDTS系统让用户在不接触物理机器的前提下,完成了对Hadoop集群的部署和追踪,为用户提供了完善的功能和良好的使用体验。Hadoop部署子系统前端采用Ext Ajax Framework,后端使用Python CGI管理Linux机器;Hadoop追踪子系统基于Hadoop源码工程,采用Java语言作为追踪代码实现和客户端实现。功能测试表明,部署子系统正确完成了Hadoop的配置、分发、启动工作;追踪子系统正确完成了各个观察点的展示。性能测试表明,追踪子系统对系统造成时间开销不超过4%。