[发明专利]一种基于用户行为分析的Hadoop集群作业调度方法及装置有效
申请号: | 201410350690.3 | 申请日: | 2014-07-22 |
公开(公告)号: | CN104156505B | 公开(公告)日: | 2017-12-15 |
发明(设计)人: | 陈重韬;王伟平;孟丹;崔甲 | 申请(专利权)人: | 中国科学院信息工程研究所 |
主分类号: | G06F17/50 | 分类号: | G06F17/50 |
代理公司: | 北京轻创知识产权代理有限公司11212 | 代理人: | 杨立 |
地址: | 100093 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 用户 行为 分析 hadoop 集群 作业 调度 方法 装置 | ||
技术领域
本发明涉及云计算领域,特别涉及一种基于用户行为分析的Hadoop集群作业调度方法及装置。
背景技术
Hadoop作为MapReduce和GFS的开源实现已广泛应用于工业界和研究领域,而处于计算核心位置的MapReduce也成为最成功的海量数据计算模型,其中MapReduce作业调度策略作为一个关键问题,将直接影响到海量数据查询处理的执行效率。
MapReduce作业调度策略一般分为两个层面,作业层和任务层。作业层主要考虑不同用户提交的作业以何种方式和顺序开始运行,而任务层则是考虑已被调度的作业内的Task在哪个申请节点运行。
目前,关于MapReduce的作业层面上的作业调度策略的研究很多。FIFO调度算法是最简单直观的MapReduce调度算法。所有作业都被提交到一个队列中,按照提交的时间先后顺序选择一个作业执行。Fair Scheduler调度算法由Facebook公司提出,它的目标是使每个用户都能公平的共享整个集群的计算能力,它主要包括两个部分,最小共享资源量以及公平共享资源量。FairScheduler调度算法为每个用户组建立一个单独的作业池,每个作业池都拥有最小共享资源,集群剩余的资源以尽量公平的方式分配给各用户组。当用户组需要的资源小于最小共享资源时,空闲资源可根据公平原则分配给相应的用户组进行使用,待该用户组需求资源量增加并超过等待时间时,再以抢占的方式将属于自己的资源占用。Capacity Scheduler调度算法由雅虎公司提出,它支持多个队列,每个队列可配置一定的资源。在队列内部采用FIFO调度。与公平调度相似,计算能力调度允许各个队列分享己经被分配但处于空闲状态的资源,但不支持抢占,只有当前作业释放相应资源且原队列有新的资源请求时,才会将资源分配回所属队列。
上述三种调度算法为现在Hadoop中基础的调度算法。FIFO调度算法实现简单,调度开销小,能够保证作业按照时间顺序运行,但FIFO调度容易出现大作业独占集群资源,造成任务的阻塞,从而使小作业往往得不到快速的响应,而一般情况下小作业均有实时性要求。Fair Scheduler调度算法,保证了不同用户在资源分配上的公平性。然而它只专注于用户的公平而忽视了作业之间的差异,也未充分考虑用户组需求随时间的变化。Capacity Scheduler保证了同一用户的作业不能独占资源,并且能够有效地处理各类型的作业,但是它并没有全面考虑各资源特征的分配是否满足作业多样的服务要求。
当前公平调度器的最低资源配额的确定一旦确定,就不会再更改。首先,这种方式没有充分考虑到各用户组资源需求在时间上的动态变化,从而导致在资源分配上不公平情况的出现,尤其是在某一时间段内,大部分资源组均需要最低配额而某一个或多个资源组出现作业集中提交的情况。其次,原有的调度算法并未考虑各用户组所提交的作业类型的区别,并没有按照实际的作业资源需求类型进行划分,容易造成作业不公平调度情况的出现。
综上所述,虽然现有的调度算法,在保证作业的执行以及资源的合理分配上做了一定的优化,但是都没有充分考虑用户组需求的动态变化,造成资源分配不合理。
发明内容
本发明所要解决的技术问题是提供一种实现用户资源的动态公平分配的基于用户行为分析的Hadoop集群作业调度方法及装置。
本发明解决上述技术问题的技术方案如下:一种基于用户行为分析的Hadoop集群作业调度方法,包括以下步骤:
步骤1:收集Hadoop集群产生的用于记录各资源组提交的作业的日志文件,根据日志文件创建日志数据表,将日志数据表存储于数据库中,并定时将存储于数据库中的日志数据表转存到Hive集群中;
步骤2:根据存储于Hive集群中的日志数据表,得到每个资源组在任一时间区间内提交作业的作业数量;
步骤3:根据存储于Hive集群中的日志数据表,得到各资源组提交作业的作业类型;
步骤4:根据每个资源组提交作业的作业类型和该资源组提交作业的作业数量占所有资源组提交作业的作业数量的比例,确定各资源组的最小资源占用限额;
步骤5:在资源组提交作业后,根据该资源组对应的最小资源占用限额调度大于等于最小资源占用限额的资源进行处理提交的作业。
本发明的有益效果是:通过日志分析,能够更真实的反映集群以及作业的一般特点;通过统计作业提交的一般规律,能够为作业级的调度提供准确和真实的依据;通过统计作业的类型及各类Task的运行时间,能够更准确的进行作业在任务级的调度。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学院信息工程研究所,未经中国科学院信息工程研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410350690.3/2.html,转载请声明来源钻瓜专利网。