[发明专利]一种基于遗传算法的Hadoop作业调度方法有效
| 申请号: | 201410816355.8 | 申请日: | 2014-12-24 |
| 公开(公告)号: | CN104572297B | 公开(公告)日: | 2018-04-24 |
| 发明(设计)人: | 薛涛;燕明磊 | 申请(专利权)人: | 西安工程大学 |
| 主分类号: | G06F9/50 | 分类号: | G06F9/50 |
| 代理公司: | 西安弘理专利事务所61214 | 代理人: | 罗笛 |
| 地址: | 710048 陕*** | 国省代码: | 陕西;61 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 基于 遗传 算法 hadoop 作业 调度 方法 | ||
技术领域
本发明属于信息技术领域,涉及一种基于遗传算法的Hadoop作业调度方法。
背景技术
Apache Hadoop是一个开源的分布式平台,主要由MapReduce和HDFS两大核心项目组成。MapReduce是Hadoop的核心计算框架,它是一种主从结构的软件框架,分为JobTracker和TaskTracker两种角色。JobTracker节点通过对作业数据Job的预处理形成任务分片(split)再分发到各个TaskTracker节点以确保任务的并行性,然后再对各分片经过Map阶段的分解和Reduce阶段的汇总,最后输出处理结果并保存;HDFS是Hadoop实现分布式计算的存储基石。它是一个具有高度容错性,适合部署在廉价的机器上的系统。HDFS也是一种主从结构的框架,有NameNode和DataNode两种节点。NameNode节点负责存储文件的元数据信息而DataNode负责存储数据。HDFS能提供高吞吐量的数据访问,非常适合大规模数据集上的应用。
Hadoop的作业调度是影响Hadoop平台整体性能的一个重要方面。Hadoop中自带三种调度方式:FIFO(First In First Out)调度、Fair调度、Capacity调度。其中,FIFO是默认的调度方式,该调度是将所有的作业都提交到一个JobQueue队列,然后JobTracker按照先来后到的顺序调度执行作业。该方式最大的特点是简单明了,对JobTracker的负担较小,但是局限性很大。在面向多用户时,没有考虑作业的紧急程度,另外对小作业不利。对于FIFO存在的问题,FaceBook和Yahoo分别开发了Fair调度和Capacity调度,两种方法都支持多用户且兼顾公平性,但两者的实现策略不同。Fair调度是按照资源池(pool)的方式来组织作业,并把资源公平地分配到这些资源池里。保证每个pool的最小共享量、支持时间片抢占、闲置作业的并发量且动态调整各个资源池的资源量。Capacity调度支持多个队列,每个队列可配置一定的资源量,每个队列采用FIFO调度策略。为了防止同一个用户的作业独占该队列中的资源,该调度器会对同一用户提交的作业所占资源量进行限定。调度时,首先选择一个合适的队列:计算每个队列中正在运行的任务数与其应分得的计算资源的比值,选择一个该比值最小的队列,然后按照作业的优先级和提交时间的选后顺序,同时考虑用户资源的闲置和内存的限制从该队列中选择一个任务。这两种调度方法都需要在调度前对平台资源进行配置,这需要预先对平台的资源非常的了解,无疑加重了平台管理员的负担。
遗传算法(Genetic Algorithm)是模拟达尔文生物进化论的自然选择和遗传学机理的生物进化过程的计算模型,是一种通过模拟自然进化过程搜索最优解的方法。遗传算法采纳了自然进化模型,如选择、交叉、变异、迁移、局域与邻域等。计算开始时,一定数目N个个体(父个体1、父个体2、父个体3,父个体4......)即种群随机地初始化,并计算每个个体的适应度函数,第一代也即初始代就产生了。如果不满足优化准则,开始产生新一代的计算。为了产生下一代,按照适应度选择个体,父代要求基因重组(交叉)而产生子代。所有的子代按一定概率变异,然后子代的适应度又被重新计算,子代被插入到种群中将父代取而代之,构成新的一代(子个体1、子个体2、子个体3、子个体4......)。这一过程循环执行,直到满足优化准则为止。由于遗传算法自身具有自组织、自适应和自学习性的智能性、本质的并行性、只与搜索的目标函数和适应度函数相关而不受其它条件等影响的一系列特征,是解决作业调度问题的一个强有力的数学工具。
发明内容
本发明的目的是提供一种基于遗传算法的Hadoop作业调度方法,解决了现有技术中存在的在作业调度前需对集群资源进行预配置,且无法兼顾作业的公平性和作业的执行效率的技术问题。
本发明的技术方案为:一种基于遗传算法的Hadoop作业调度方法,按照以下步骤实施:
步骤1:对等待调度的作业进行预处理,在JobTracker节点汇总等待调度的作业Jobm和集群中的节点TaskTrackern;
步骤2:生成编码解码表;
步骤3:根据编码解码表生成若干初始调度表;
步骤4:对各初始调度表进行适应度检测排序,得到调度表队列A;
步骤5:对调度表队列A中的初始调度表进行遗传操作,形成最终调度表队列;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于西安工程大学,未经西安工程大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410816355.8/2.html,转载请声明来源钻瓜专利网。
- 上一篇:进行资源转移的方法和装置
- 下一篇:一种移动终端应用切换的方法和移动终端





