论文部分内容阅读
Hadoop是一个支持并行计算的软件框架,它在数据的分布式存储、提取、分析、计算等方面有着得天独厚的优势,使得其在大数据处理领域受到人们的广泛关注。自从Hadoop2.0引入了YARN做为其统一资源管理系统后,集群在任务分配、资源监控和数据共享等方面有了巨大突破。YARN内置三种资源调度器,然而随着应用的扩展,这些内置的调度器在集群资源利用率和系统吞吐量上并不能让用户满意。因此,研究如何合理的进行资源分配和调度,优化和提高YARN资源管理系统的调度性能对于海量数据计算和处理具有重要意义。本文对Hadoop YARN的资源调度机制进行了深入研究分析,从如何提高集群整体资源利用率、减少系统整体任务执行时间角度出发,针对YARN中存在的预留资源不能充分利用问题、推测执行机制预测备份任务启动不准确问题,提出了相应解决办法。首先,对于如何更合理的分配资源,提出一种基于多维度约束遗传算法的Hadoop资源调度方法。该方法通过YARN的心跳机制获取节点CPU速度、内存大小、负载等信息来初始化染色体。同时在算法的交叉、变异、复制等操作环节上进行了改进,引入了双适应度函数,充分保证算法的收敛性和有效性。通过大量实验证明,采用本文设计的调度算法能有效的缩短集群整体任务执行时间20%左右。其次,针对如何更合理的进行资源预留,提出一种渐进式非阻塞机会资源预留机制。在Hadoop集群中,如果集群节点不能满足某个任务的资源申请,则会为其进行资源预留。YARN采用的是基于增量资源预留的资源保证机制,该机制使得集群整体资源利用率不高。本文采用基于节点优先级方式选择某个节点为任务的资源预留节点,然后采用基于非阻塞式的机会资源分配策略对节点进行资源分配。实验表明,采用渐进式非阻塞机会资源预留机制能有效的提高集群资源利用率和系统吞吐量,从而缩短任务执行时间。最后,针对异常任务提出基于时间序列的推测执行机制。论文分析了Hadoop集群中存在的几种异常任务类型,论述异常任务对集群整体任务完成时间的影响,提出改进的备份任务启动机制。为防止备份任务启动过多导致集群负载过大,影响集群整体性能,本文通过建立预测模型来评价备份任务启动的必要性。最终实验表明,改进后的调度算法使得集群整体资源利用率大幅提高,各节点上任务执行时间明显减少。