论文部分内容阅读
随着移动互联网、云计算、物联网等新技术浪潮的兴起,数据的体量、类型、速度和价值,在很短时间内达到前所未有的程度。传统数据已完成了质变,大数据时代正式到来。Hadoop是一个开源的能够对大数据进行分析和处理的分布式计算平台,它具有高可靠性、高扩展性等很多优点,成为各大企业存储和处理海量数据的首选工具,在工业界和学术界备受关注。Hadoop2.0推出了通用的资源管理系统YARN,它的主要功能是对Hadoop平台的资源和提交到平台的作业进行管理和调度,其中,作业调度算法的优劣会直接影响Hadoop平台资源利用率的高低进而影响到Hadoop平台的性能。因此对作业调度算法的研究有重要意义。负载均衡在集群系统中十分重要,如何合理的分配平台中的计算资源、平衡节点负载是Hadoop集群中需要解决的一个重要问题。现有的作业调度算法是基于同构环境设计的只追求作业最短完成时间,没有考虑节点的负载能力,这在异构环境下很容易导致集群节点负载不均衡,出现一些计算节点负载过大而同时另一些计算节点处于闲置状态的现象,严重降低了平台的性能。针对集群负载不均衡的现象,提出了负载均衡度量函数(Load Balancing Measure Function,LBMF)。针对Hadoop调度在异构环境下负载不均衡的问题,提出了基于LBMF的粒子群调度算法(Load Balance Measure Function Particle Swarm Optimization,LBMFPSO)。在LBMFPSO算法中,提交的作业被当作粒子,节点的位置即为搜索空间,将LBMF和作业执行完成时间同时作为适应度函数来指引粒子的更新,粒子探索最优解的过程即为作业调度的过程。并且将LBMF<5%作为LBMFPSO的一个终止准则即作业调度结果一定是符合负载均衡的。搭建Hadoop实验平台,进行实验验证,结果表明,通过LBMFPSO调度产生的结果不但能使作业执行时间较短,而且系统资源的利用率较高,兼顾了作业执行时间最小和节点的负载均衡。