论文部分内容阅读
大数据时代信息量的急剧增长,对信息处理速度也提出了越来越高的需求。作为MapReduce计算模型的开源实现,Hadoop云平台为用户提供了简洁可靠的大数据处理方案。在处理TB和PB级数据计算中, MapReduce已经成为使用最为广泛的并行编程模型。由于MapReduce计算框架最早是为Google的数据处理业务而设计的,对不同环境、不同类型的大数据处理业务,并没有进行特别优化。因此,改进Hadoop的平台的MapReduce计算框架,对提高Hadoop平台综合性能、优化计算资源分配与利用,有着非常重要的意义。本文针对Hadoop平台的MapReduce计算框架中的负载均衡与任务配置优化机制进行了研究,取得了如下成果:(1)在Hadoop平台中提出了一种新的分区方案。与Hadoop默认的分区方案相比,它具有平衡Reduce Task负载、提高集群资源利用率和加速Job整体运行速度的优势。通过对Reduce Task建立回归分析模型,预测Reduce Task运行时间的差异,据此重新分配Reduce Task之间输入数据的规模,使得Reduce Task之间的总体完成时间趋于一致,避免了因数据分配不均,导致部分Reduce Task执行时间过长的问题;同时,本方案在建立Reduce Task运行时间的过程中,考虑了Node计算资源差异、负载情况对运行时间的影响,使分配的结果更符合实际应用情况。此外,与特定领域的负载均衡方案相比,本方案受到的限制更少,只需Map Task的输出结果的Reduce Task之间不存在固定的映射关系。(2)提出了一种新的资源管理与计算任务监控方案。在该方案中,将JobTracker的集群资源管理与任务监控功能分成两个组件完成。其中,JobTracker的角色变为Monitor Node保留任务监控功能,而资源管理功能分配给新加入的资源管理节点完成。JobTracker和资源管理节点之间通过增量更新算法同步信息。资源管理节点根据配置的调度器,进行任务调度,并将调度结果返回给JobTracker节点。实验结果表明,本方案实现了资源管理节点与JobTracker之间快速信息同步,降低了JobTracker的负担,提高了平台的鲁棒性与工作效率,可以有效扩展Hadoop云平台的工作规模。(3)设计和实现了基于任务完成时间的负载均衡分区方案;对分离式任务调度与监控方案进行了仿真验证。实验表明,本文提出的Hadoop综合优化方案,可以对Hadoop集群的实际运行情况进行分析、预测,并进行分区操作,均衡节点之间的计算任务;对于JobTracker负载过高的问题,本文提出的分离方案可以有效降低JobTracker的负载。