[发明专利]Hadoop的调度方法、系统及管理节点在审
申请号: | 201310188180.6 | 申请日: | 2013-05-20 |
公开(公告)号: | CN103246570A | 公开(公告)日: | 2013-08-14 |
发明(设计)人: | 孙垚光;黎樵 | 申请(专利权)人: | 百度在线网络技术(北京)有限公司 |
主分类号: | G06F9/50 | 分类号: | G06F9/50 |
代理公司: | 北京清亦华知识产权代理事务所(普通合伙) 11201 | 代理人: | 宋合成 |
地址: | 100085 北京市*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | hadoop 调度 方法 系统 管理 节点 | ||
技术领域
本发明涉及云计算技术领域,特别涉及一种Hadoop的调度方法、系统及管理节点。
背景技术
Apache Hadoop是一个能够对大量数据进行分布式处理的软件平台,海量数据业务越来越多,Hadoop的使用也越来越广泛。随着单个集群的规模的日趋扩大(第一代Hadoop集群大约能够支持4000台机器),如何提高集群资源使用率也逐渐成为人们关心的话题。提高集群资源利用率的关键在于集群的调度。
目前Hadoop支持多种调度器,基本都是将TaskTracker按照机器配置信息,分配好固定的槽位(slot)数,比如16个,表示单台TaskTracker机器可以最多同时执行16个Task,JobTracker按照这些槽位数进行调度,每个Task占用至少一个槽位。
这种固定配置槽位数的方案有两个缺点:
(1)每台机器所容纳的槽位数是固定的,每个槽位对应的资源也是固定的,Hadoop默认每个槽位对应800MB内存,一个实际运行过程中只需要100MB内存的Task,在JobTracker和TaskTracker看来,仍然占用一个槽位,仍然需要消耗800MB内存;
(2)某个具体的Task占用几个槽位,完全根据提交作业的配置进行换算,大部分情况下用户对自身的程序运行过程中需要多少资源,并不能做到十分精确的预估。
因此,如果单机配置槽位数较少,则无法充分利用集群资源,而如果配置槽位数个数较多,当出现资源消耗较多的作业时,又会出现单机资源不够用的情况(例如因为整机内存不够而出现机器宕机)。
发明内容
本发明的目的旨在至少解决所述技术缺陷之一。
为此,本发明的一个目的在于提出一种可提升计算节点中资源利用率的Hadoop的调度方法。
本发明的另一个目的在于提出一种Hadoop的调度系统。
本发明的再一目的在于提出一种管理节点。
为达到上述目的,本发明第一方面的实施例公开了一种Hadoop的调度方法,包括以下步骤:管理节点获取多个计算节点中已完成任务的资源消耗信息;所述管理节点根据所述多个计算节点中已完成任务的资源消耗信息生成资源调度值;以及所述管理节点接收新任务的分配请求,并根据所述资源调度值为所述新任务分配资源。
根据本发明实施例的Hadoop的调度方法,可以提高Hadoop计算节点(TaskTracker)的单机并发度,从而提高整个集群(多个计算节点)的资源利用率。
另外,根据本发明上述实施例的Hadoop的调度方法还可以具有如下附加的技术特征:
在一些示例中,所述计算节点中运行有多个任务。
在一些示例中,所述计算节点中的任务在所述任务结束之后通过心跳报文将所述任务对应的资源消耗信息发送至所述管理节点。
在一些示例中,所述管理节点通过以下公式生成所述资源调度值:
最新的资源调度值=最新采样值*p+当前资源调度值*(1-p),其中,p取值为(0,1)。
本发明第二方面的实施例公开了一种Hadoop的调度系统,包括管理节点和多个计算节点,其中,管理节点,用于获取多个计算节点中已完成任务的资源消耗信息,并根据所述多个计算节点中已完成任务的资源消耗信息生成资源调度值,以及在接收新任务的分配请求之后根据所述资源调度值为所述新任务分配资源。
根据本发明实施例的Hadoop的调度系统,可以提高Hadoop计算节点(TaskTracker)的单机并发度,从而提高整个集群(多个计算节点)的资源利用率。
另外,根据本发明上述实施例的Hadoop的调度系统还可以具有如下附加的技术特征:
在一些示例中,所述计算节点中运行有多个任务。
在一些示例中,所述计算节点中的任务在所述任务结束之后通过心跳报文将所述任务对应的资源消耗信息发送至所述管理节点。
在一些示例中,所述管理节点通过以下公式生成所述资源调度值:
最新的资源调度值=最新采样值*p+当前资源调度值*(1-p),其中,p取值为(0,1)。
本发明第三方面的实施例公开了一种管理节点,包括:获取模块,用于获取多个计算节点中已完成任务的资源消耗信息;生成模块,用于根据所述多个计算节点中已完成任务的资源消耗信息生成资源调度值;以及资源分配模块,用于在接收新任务的分配请求之后根据所述资源调度值为所述新任务分配资源。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于百度在线网络技术(北京)有限公司,未经百度在线网络技术(北京)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310188180.6/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种不倒翁水杯
- 下一篇:基于云技术的开放式电力系统数值仿真系统及其仿真方法