CN108469988B - 一种基于异构Hadoop集群的任务调度方法 - Google Patents

一种基于异构Hadoop集群的任务调度方法 Download PDF

Info

Publication number
CN108469988B
CN108469988B CN201810168415.8A CN201810168415A CN108469988B CN 108469988 B CN108469988 B CN 108469988B CN 201810168415 A CN201810168415 A CN 201810168415A CN 108469988 B CN108469988 B CN 108469988B
Authority
CN
China
Prior art keywords
task
node
job
distributed
resources
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201810168415.8A
Other languages
English (en)
Other versions
CN108469988A (zh
Inventor
吴奇石
王猛
侯爱琴
张晓阳
王永强
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Northwest University
Original Assignee
Northwest University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Northwest University filed Critical Northwest University
Priority to CN201810168415.8A priority Critical patent/CN108469988B/zh
Publication of CN108469988A publication Critical patent/CN108469988A/zh
Application granted granted Critical
Publication of CN108469988B publication Critical patent/CN108469988B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/505Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5083Techniques for rebalancing the load in a distributed system
    • G06F9/5088Techniques for rebalancing the load in a distributed system involving task migration

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multi Processors (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明公开一种基于异构Hadoop集群的任务调度方法,该方法根据集群中每个节点的实时性能,并考虑到每个节点和不同任务的匹配程度,来对Hadoop中任务队列中的任务进行调度。解决了现有调度技术只能针对大数据中心同构集群,以及现有的调度算法集群的资源利用率低,集群节点负载不均衡以及作业完成时间比较长的缺陷。

Description

一种基于异构Hadoop集群的任务调度方法
技术领域
本发明属于大数据相关领域,涉及一种基于异构Hadoop集群的任务调度方法。
背景技术
随着互联网应用的快速发展,互联网迎来了web2.0时期,人类已经正式进入了信息爆炸的时代,互联网中的信息量以指数的速度增长着。很多领域都在产生大量的数据。例如,在物联网领域,我们使用的各种传感器、可穿戴设备等无时无刻都在产生数据。在电子商务领域,当我们浏览商品、加入购物车和下订单时也会产生大量数据。在社交领域,我们通讯也会产生大量的视频、音频数据和文本数据。此外,社交网络应用中记录用户行为日志通常都是以GB甚至是TB为单位的。相对于传统的关系型数据的存储和计算,这些每天产生的数据大多都是非关系性的、而且没有固定格式的数据。当数据量达到一定的规模时,常规的单机计算模式已经无法满足用户的需求。为了解决这种情况,提出了分布式计算框架与云计算。框架本身通常允许管理处理数据的可执行程序,通常称为应用程序或作业。在过去的几年里,一些分布式计算框架已经被开发出来,其中有几个受到了广泛的应用。与其他分布式计算框架相比,MapReduce更受欢迎。MapReduce被应用在Hadoop平台,Hadoop是一个开源的分布式存储和处理系统,是由Apache基于Google发表的两篇论文提出了一种大数据处理平台。目前一些知名的公司都有自己的Hadoop集群,例如Yahoo,Google,Ebay和Amazon。Hadoop的应用范围非常广泛,主要适用于结构化、半结构化和非结构化数据的搜索、数据分析和数据挖掘。例如分布式排序,日志分析,构建反向索引和机器学习等。
Hadoop的发展经历两个阶段:Hadoop 1.0和Hadoop 2.0。在Hadoop 1.0中,MapReduce(也被称为MRv1)分布式处理框架是Hadoop中的唯一计算框架,它不仅能够用于离线处理大规模非结构化数据,而且能将很多繁琐的细节隐藏,比如,自动并行化、负载均衡和灾备管理等,极大地简化了开发工作,同时,与传统的大多数分布式处理框架相比,MapReduce的伸缩性优势明显,因此,MRv1最初推出的几年,有众多的成功应用案例,并获得业界的广泛支持和肯定。但随着分布式系统集群的规模和其工作负荷的增长,特别是支持其他实时计算框架的需求越来越多,包括内存计算框架(Spark)、流式计算框架(Storm)、迭代式计算框架(iMapReduce)等新型计算框架的出现,MRv1计算框架的局限性日益突出,主要包括扩展性差、资源利用率低、存在单点故障、计算框架单一等问题。为此,Hadoop 2.0提出一种新的资源管理系统YARN(Yet Another Resource Negotiator,也被称为MRv2),一个多种计算框架通用的资源调度体系,为不同的并行化计算提供资源分配服务。这样,YARN支持的计算框架只要实现YARN定义的接口,便可以运行在YARN之上,从而很好地打造一个以YARN为核心的生态系统。由于YARN具有灵活且支持多计算框架的架构设计、主结点功能的分离、资源调度机制的改进、资源的隔离和Hadoop原生支持等诸多特性,它目前已经成了新一代资源管理的典型代表。
Hadoop有两个重要的组件:HDFS和MapReduce。HDFS(Hadoop Distributed FileSystem)为Hadoop集群中的数据存储提供了容错解决方案。HDFS是主从式结构,拥有1个Master节点和多个Slave节点。Namenode只在Master节点运行,而每个Slave节点都运行一个Datanodes。MapReduce是一个用于大数据处理的编程框架。MapReduce采用"分而治之"的思想,把一个比较大规模数据集划分为许多大小相等的数据集,并把它们分发给一个主节点管理下的各个分节点共同处理,然后通过整合各个节点处理得到的中间结果,得到最终结果。MapReduce有两个重要的函数Map和Reduce,这两个函数是由用户编写并提交给Hadoop。随着人们处理数据量的增长,对Hadoop集群性能要求越来越高,因此如何改进集群的性能变得至关重要。其中Hadoop调度器是影响集群性能非常重要的一个因素。因此当用户提交一批作业到集群时,如何安排作业的执行顺序,换句话说,就是如何将集群中的资源分配给作业,这对集群的性能影响非常大。如果没有对集群进行适当的管理,那么会使得集群中可用的资源无法有效地利用,导致作业的完成时间变得特别长。
目前存在的Hadoop任务调度方法并没有考虑到任务和节点的不同以及任务和节点的匹配性。大多数策略都无法达到性能需求,包括稳定性,可伸缩性,效率和负载平衡。
参考文献:
【1】Xu X,Cao L,Wang X.Adaptive Task Scheduling Strategy Based onDynamic Workload Adjustment for Heterogeneous Hadoop Clusters[J].IEEE SystemsJournal,2017,10(2):471-482.
发明内容
针对现有技术中存在的缺陷和不足,本发明的目的在于,提供一种基于异构Hadoop集群的任务调度方法,该方法根据集群中每个节点的实时性能,并考虑到每个节点和不同任务的匹配程度,来对作业包括的任务进行调度,提高集群的资源利用率,加快作业完成时间。
为了实现上述目的,本发明采用如下技术方案:
一种基于异构Hadoop集群的任务调度方法,包括以下步骤:
步骤1,Hadoop集群中每个NM节点获取自身的实时性能信息,实时性能信息至少包括CPU空闲资源、CPU总资源、RAM空闲资源和RAM总资源;
步骤2,根据NM节点的实时性能信息,在Hadoop集群中选取CPU空闲资源和RAM空闲资源均不为零的多个NM节点,并在选取的CPU空闲资源和RAM空闲资源均不为零的多个NM节点中随机选取一个NM节点作为待分配节点;
步骤3,在用户提交的多个作业中,选择与待分配节点相匹配的作业;
步骤4,计算步骤3中选择出的与待分配节点相匹配的作业中的每个任务与待分配节点的任务匹配值,具体包括以下步骤:
步骤4.1,判断待分配节点的CPU空闲资源和RAM空闲资源是否均大于步骤3中选择出的与待分配节点相匹配的作业中的某个任务的CPU请求资源和RAM请求资源,若是,则该任务为满足需求的任务,并执行步骤4.2,否则,该任务与待分配节点的任务匹配值为0;
步骤4.2,计算满足需求的任务与待分配节点的任务匹配值,采用的公式如下:
Figure BDA0001585132110000052
其中,a,b,c是常量,且a+b+c=1,0<=a,b,c<=1,Tl是任务的数据本地性的值,Tc是待分配节点的CPU空闲资源和任务的CPU请求资源的匹配程度,Tm是待分配节点的RAM空闲资源和任务的CPU请求资源的匹配程度;
步骤5,在步骤4计算得到的任务匹配值中的最大值对应的任务分配给待分配节点,并将该任务标记为已分配,将其由作业中去除,不再对其分配NM节点;返回步骤1,直至所有作业中的所有任务均分配给相应NM节点执行。
可选地,所述步骤3中的在用户提交的多个作业中,选择与待分配节点相匹配的作业;采用的方法如下:
步骤3.1,计算多个作业中的每个作业与待分配节点的作业匹配度,其中,第j个作业与待分配节点的作业匹配度用
Figure BDA0001585132110000053
表示,采用的公式如下:
Figure BDA0001585132110000051
其中,
Figure BDA0001585132110000054
表示第j个作业的用户指定优先级;
Figure BDA0001585132110000055
表示第j个作业的动态优先级;
Figure BDA0001585132110000056
表示第j个作业中数据本地性的值标记为最高的map任务的数量;
Figure BDA0001585132110000057
表示第j个作业处理数据的大小;Jlocalmin表示所有作业中数据本地性的值标记为最高的map任务的数量的最小值,Jlocalmax表示所有作业中数据本地性的值标记为最高的map任务的数量的最大值;Jsizemin表示所有作业处理数据的最小值,Jsizemax表示所有作业处理数据的的最大值;
步骤3.2,选取作业匹配度的最大值对应的作业作为与待分配节点相匹配的作业。
可选地,所述步骤3.1中的第j个作业的动态优先级
Figure BDA0001585132110000063
采用如下公式计算:
Figure BDA0001585132110000061
其中,Jaj代表第j个作业中所有的map任务数量,Jcj代表第j个作业中已经完成的map任务的数量。
可选地,所述步骤3.1中的第j个作业中数据本地性值标记为最高的map任务的数量
Figure BDA0001585132110000064
的获取方法如下:
NM节点的实时性能信息通过Heartbeat发送给RM节点,RM节点根据获取的NM节点的实时性能信息,判断第j个作业中map任务的数据是否存储在待分配节点上,如果是,则将该map任务的数据本地性的值标记为最高值A,否则,将判断该map任务是否与待分配节点在同一个机架上,如果是,则将该map任务标记为次高值B,否则,将该map任务标记为最小值C。
可选地,所述4.2中的待分配节点的CPU空闲资源和任务的CPU请求资源的匹配程度Tc,采用如下公式计算:
Figure BDA0001585132110000062
其中,Host.rc表示待分配节点的CPU空闲资源,task.rqc表示任务的CPU请求资源,Host.ac表示待分配节点的CPU总资源。
可选地,所述步骤4.2中的待分配节点的RAM空闲资源和任务的CPU请求资源的匹配程度Tm,采用如下公式计算:
Figure BDA0001585132110000071
其中,其中,Host.rm表示待分配节点的RAM空闲资源,task.rqm表示任务的RAM请求资源,Host.am表示待分配节点的RAM总资源。
与现有技术相比,本发明具有以下技术效果:
1.根据集群中每个节点的实时性能来进行任务调度,避免出现节点过载或者饥饿的情况。
2.动态的调整作业的优先级,加快作业的完成时间。
3.考虑到任务和节点的匹配性,提高集群资源利用率。
下面结合附图和具体实施方式对本发明的方案作进一步详细地解释和说明。
附图说明
图1为本发明的方法与FIFO调度方法的作业平均完成时间比较结果图。
具体实施方式
本发明提供一种基于异构Hadoop集群的任务调度方法,该方法用于将Hadoop集群中的资源分配给作业,也就是说,将作业包括的任务分配给Hadoop集群中的某个节点来执行。Hadoop集群中包括多个NM(Node Manager)节点和一个RM(Resource Manager)节点。用户提交多个作业,每个被划分为多个任务,多个任务可分为两类任务,分别为map任务和reduce任务。本发明的方法具体包括以下步骤:
步骤1,Hadoop集群中每个NM节点获取自身的实时性能信息,实时性能信息至少包括CPU空闲资源、CPU总资源、RAM空闲资源和RAM总资源,并将该实时性能信息通过Heartbeat发送给RM节点。
其中,实时性能信息包括NM节点的CPU空闲资源、CPU总资源、RAM空闲资源、RAM总资源、CPU利用率、内存利用率、CPU核数和CPU主频信息等。NM节点获取自身的实时性能信息采用的方法参照参考文献【1】中的方法。例如,在linux系统中,根据linux中/proc/stat和/proc/meminfo文件中的信息,可以计算出NM节点的CPU使用率和内存使用率等信息。
步骤2,根据NM节点的实时性能信息,在Hadoop集群中选取CPU空闲资源和RAM空闲资源均不为零的多个NM节点,并在选取的CPU空闲资源和RAM空闲资源均不为零的多个NM节点中随机选取一个NM节点作为待分配节点。
步骤3,在用户提交的多个作业中,选择与待分配节点相匹配的作业。
步骤4,计算步骤3中选择出的与待分配节点相匹配的作业中的每个任务与待分配节点的任务匹配值,具体包括以下步骤:
步骤4.1,判断待分配节点的CPU空闲资源和RAM空闲资源是否均大于步骤3中选择出的与待分配节点相匹配的作业中的某个任务的CPU请求资源和RAM请求资源,若是,则该任务为满足需求的任务,并执行步骤4.2,否则,该任务与待分配节点的任务匹配值为0;
步骤4.2,计算满足需求的任务与待分配节点的任务匹配值,采用的公式如下:
Figure BDA0001585132110000092
其中,a,b,c是常量,且a+b+c=1,0<=a,b,c<=1,在本实施例中,a=b=0.15,c=0.7;Tl是指任务的数据本地性的值,Tc是待分配节点的CPU空闲资源和任务的CPU请求资源的匹配程度,Tm是待分配节点的RAM空闲资源和任务的CPU请求资源的匹配程度。
步骤5,在步骤4计算得到的任务匹配值中的最大值对应的任务分配给待分配节点,并将该任务标记为已分配,将其由作业中去除,不再对其分配NM节点;返回步骤1,直至所有作业中的所有任务均分配给相应NM节点执行。
具体地,在又一实施例中,步骤3中的在用户提交的多个作业中,选择与待分配节点相匹配的作业;具体包括以下步骤:
步骤3.1,计算多个作业中的每个作业与待分配节点的作业匹配度,其中,第j个作业与待分配节点的作业匹配度用
Figure BDA0001585132110000093
表示,采用的公式如下:
Figure BDA0001585132110000091
其中,
Figure BDA0001585132110000094
表示第j个作业的用户指定优先级;
Figure BDA0001585132110000095
表示第j个作业的动态优先级;
Figure BDA0001585132110000096
表示第j个作业中数据本地性的值标记为最高的map任务的数量;
Figure BDA0001585132110000097
表示第j个作业处理数据的大小。Jlocalmin表示所有作业中数据本地性的值标记为最高的map任务的数量的最小值,Jlocalmax表示所有作业中数据本地性的值标记为最高的map任务的数量的最大值,Jsizemin表示所有作业处理数据的最小值,Jsizemax表示所有作业处理数据的的最大值。
步骤3.2,选取作业匹配度的最大值对应的作业作为与待分配节点相匹配的作业。
具体地,在又一实施例中,步骤3.1中的第j个作业的动态优先级
Figure BDA0001585132110000102
采用如下公式计算:
Figure BDA0001585132110000101
其中,Jaj代表第j个作业中所有的map任务数量,Jcj第j个作业中已经完成的map任务的数量。
具体地,在又一实施例中,步骤3.1中的第j个作业中数据本地性值标记为最高的map任务的数量
Figure BDA0001585132110000103
的获取方法如下:
实时性能信息通过Heartbeat发送给RM节点,RM节点根据获取的NM节点的实时性能信息,判断第j个作业中map任务的数据是否存储在待分配节点上,如果是,则将该map任务的数据本地性的值标记为最高值A,否则,将判断该map任务是否与待分配节点在同一个机架(RACK)上,如果是,则将该map任务标记为次高值B,否则,将该map任务标记为最小值C。在本实施例中,A=100,B=50,C=0。
当用户提交一个作业到Hadoop集群时,客户端首先向RM节点请求一个新的作业ID,然后对作业进行分片,默认情况下每个分片会对应一个map任务,然后把作业所需的资源发送到HDFS,HDFS会按照一定规则对其进行存储,RM节点会记录作业中分片存储在HDFS中的位置。因此,当NM节点通过Heartbeat与RM节点通讯时,RM节点可以判断作业队列里的每个map任务的数据是否就在NM节点上,因此我们可以知道map任务的数据是否在NM节点或者是否在NM节点所在的机架上。
具体地,在又一实施例中,步骤4.2中的待分配节点CPU资源和任务的匹配程度Tc,采用如下公式计算:
Figure BDA0001585132110000111
其中,Host.rc表示待分配节点的CPU空闲资源,task.rqc表示任务的CPU请求资源,Host.ac表示待分配节点的CPU总资源。
步骤4.2中的待分配节点RAM资源和任务的匹配程度,采用如下公式计算:
Figure BDA0001585132110000112
其中,其中,Host.rm表示待分配节点的RAM空闲资源,task.rqm表示任务的RAM请求资源,Host.am表示待分配节点的RAM总资源。
实施例
采用两种不同类型的物理主机构成了一个异构Hadoop集群。其中一个类型的物理主机有一个4核CPU(型号是I7-4790),主频是3.6GHz,内存是16GB。另外一类型的物理主机也是4核CPU(型号是Intel Xeom E3-1231v3),主频是3.4GHz内存是16GB。Hadoop集群由6个虚拟机节点组成,这6个虚拟机分布在两个不同类型的主机上。在Hadoop集群中,由于集群规模比较小,所以把HDFS中数据3备份设置成2备份。HDFS数据块的大小设置为64MB。虚拟机使用VMware workstation12.0,操作系统安装的Ubunt14.04版本。集群安装的是Hadoop2.4.1版本。集群的具体配置如表1所示。
表1 Hadoop集群配置
Figure BDA0001585132110000121
本实施例采用作业完成时间作为评估参数进行了对比实验。作业的完成时间是指从提交作业到返回处理结果的时间。这个参数指标反映了系统提供的服务和交互的能力。作业完成时间越短,说明系统性能越好。选取的作业类型是WordCount。因为WordCount涉及到大量数据的传输,有利于比较算法之间的差异。
为了验证本发明方法的有效性,将本发明提出的方法和FIFO调度方法进行了对比。选择运行不同规模的作业做5次并取其平均结果以确保结果的准确性。本发明提出的方法和FIFO调度方法运行在在同一个集群,并且它们运行相同的作业。实验结果如图1所示。由图1可以清楚地看到本发明的方法比FIFO调度方法的平均完成时间少,验证了本发明方法的可行性和有效性。

Claims (5)

1.一种基于异构Hadoop集群的任务调度方法,其特征在于,包括以下步骤:
步骤1,Hadoop集群中每个NM节点获取自身的实时性能信息,实时性能信息至少包括CPU空闲资源、CPU总资源、RAM空闲资源和RAM总资源;
步骤2,根据NM节点的实时性能信息,在Hadoop集群中选取CPU空闲资源和RAM空闲资源均不为零的多个NM节点,并在选取的CPU空闲资源和RAM空闲资源均不为零的多个NM节点中随机选取一个NM节点作为待分配节点;
步骤3,在用户提交的多个作业中,选择与待分配节点相匹配的作业;
步骤3.1,计算多个作业中的每个作业与待分配节点的作业匹配度,其中,第j个作业与待分配节点的作业匹配度用
Figure FDA0003307906070000011
表示,采用的公式如下:
Figure FDA0003307906070000012
其中,
Figure FDA0003307906070000013
表示第j个作业的用户指定优先级;
Figure FDA0003307906070000014
表示第j个作业的动态优先级;
Figure FDA0003307906070000015
表示第j个作业中数据本地性的值标记为最高的map任务的数量;
Figure FDA0003307906070000016
表示第j个作业处理数据的大小;Jlocalmin表示所有作业中数据本地性的值标记为最高的map任务的数量的最小值,Jlocalmax表示所有作业中数据本地性的值标记为最高的map任务的数量的最大值;Jsizemin表示所有作业处理数据的最小值,Jsizemax表示所有作业处理数据的最大值;
步骤3.2,选取作业匹配度的最大值对应的作业作为与待分配节点相匹配的作业;
步骤4,计算步骤3中选择出的与待分配节点相匹配的作业中的每个任务与待分配节点的任务匹配值,具体包括以下步骤:
步骤4.1,判断待分配节点的CPU空闲资源和RAM空闲资源是否均大于步骤3中选择出的与待分配节点相匹配的作业中的某个任务的CPU请求资源和RAM请求资源,若是,则该任务为满足需求的任务,并执行步骤4.2,否则,该任务与待分配节点的任务匹配值为0;
步骤4.2,计算满足需求的任务与待分配节点的任务匹配值,采用的公式如下:
MVtask=a*Tc+b*Tm+c*Tl
其中,a,b,c是常量,且a+b+c=1,0<=a,b,c<=1,Tl是任务的数据本地性的值,Tc是待分配节点的CPU空闲资源和任务的CPU请求资源的匹配程度,Tm是待分配节点的RAM空闲资源和任务的CPU请求资源的匹配程度;
步骤5,在步骤4计算得到的任务匹配值中的最大值对应的任务分配给待分配节点,并将该任务标记为已分配,将其由作业中去除,不再对其分配NM节点;返回步骤1,直至所有作业中的所有任务均分配给相应NM节点执行。
2.如权利要求1所述的基于异构Hadoop集群的任务调度方法,其特征在于,所述步骤3.1中的第j个作业的动态优先级
Figure FDA0003307906070000021
采用如下公式计算:
Figure FDA0003307906070000031
其中,Jaj代表第j个作业中所有的map任务数量,Jcj代表第j个作业中已经完成的map任务的数量。
3.如权利要求1所述的基于异构Hadoop集群的任务调度方法,其特征在于,所述步骤3.1中的第j个作业中数据本地性值标记为最高的map任务的数量
Figure FDA0003307906070000032
的获取方法如下:
NM节点的实时性能信息通过Heartbeat发送给RM节点,RM节点根据获取的NM节点的实时性能信息,判断第j个作业中map任务的数据是否存储在待分配节点上,如果是,则将该map任务的数据本地性的值标记为最高值A,否则,将判断该map任务是否与待分配节点在同一个机架上,如果是,则将该map任务标记为次高值B,否则,将该map任务标记为最小值C。
4.如权利要求1所述的基于异构Hadoop集群的任务调度方法,其特征在于,所述4.2中的待分配节点的CPU空闲资源和任务的CPU请求资源的匹配程度Tc,采用如下公式计算:
Figure FDA0003307906070000033
其中,Host.rc表示待分配节点的CPU空闲资源,task.rqc表示任务的CPU请求资源,Host.ac表示待分配节点的CPU总资源。
5.如权利要求1所述的基于异构Hadoop集群的任务调度方法,其特征在于,所述步骤4.2中的待分配节点的RAM空闲资源和任务的CPU请求资源的匹配程度Tm,采用如下公式计算:
Figure FDA0003307906070000041
其中,Host.rm表示待分配节点的RAM空闲资源,task.rqm表示任务的RAM请求资源,Host.am表示待分配节点的RAM总资源。
CN201810168415.8A 2018-02-28 2018-02-28 一种基于异构Hadoop集群的任务调度方法 Active CN108469988B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810168415.8A CN108469988B (zh) 2018-02-28 2018-02-28 一种基于异构Hadoop集群的任务调度方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810168415.8A CN108469988B (zh) 2018-02-28 2018-02-28 一种基于异构Hadoop集群的任务调度方法

Publications (2)

Publication Number Publication Date
CN108469988A CN108469988A (zh) 2018-08-31
CN108469988B true CN108469988B (zh) 2021-12-17

Family

ID=63264230

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810168415.8A Active CN108469988B (zh) 2018-02-28 2018-02-28 一种基于异构Hadoop集群的任务调度方法

Country Status (1)

Country Link
CN (1) CN108469988B (zh)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109492774B (zh) * 2018-11-06 2021-10-26 北京工业大学 一种基于深度学习的云资源调度方法
CN109413752A (zh) * 2018-11-21 2019-03-01 华中科技大学 一种面向无线低功耗网络的实时资源调度方法
CN109783189B (zh) * 2018-12-07 2022-11-22 西北大学 一种静态工作流调度方法与装置
CN111580951B (zh) * 2019-02-15 2023-10-10 杭州海康威视数字技术股份有限公司 一种任务分配方法及资源管理平台
CN109947565B (zh) 2019-03-08 2021-10-15 北京百度网讯科技有限公司 用于分配计算任务的方法和装置
CN111858019B (zh) * 2019-04-30 2022-12-13 中移(苏州)软件技术有限公司 任务调度方法、装置及计算机可读存储介质
CN110636103B (zh) * 2019-07-22 2021-06-04 中山大学 一种多异构集群作业统一调度方法及api接口
CN110750355B (zh) * 2019-08-26 2022-03-25 北京丁牛科技有限公司 控制系统、控制方法及装置
CN111225050B (zh) * 2020-01-02 2022-10-18 中国神华能源股份有限公司神朔铁路分公司 云计算资源分配方法及装置
CN111258757A (zh) * 2020-01-10 2020-06-09 深圳前海环融联易信息科技服务有限公司 任务自动编排方法、装置、计算机设备以及存储介质
CN111488209B (zh) * 2020-03-22 2023-12-15 深圳市空管实业发展有限公司 一种启发式Storm节点任务调度优化方法
CN111427694A (zh) * 2020-03-26 2020-07-17 北京金山云网络技术有限公司 任务执行方法、装置、系统和服务器
CN111522637B (zh) * 2020-04-14 2024-03-29 深圳市凌晨知识产权运营有限公司 一种基于成本效益的storm任务调度方法
CN112596902A (zh) * 2020-12-25 2021-04-02 中科星通(廊坊)信息技术有限公司 基于cpu-gpu协同计算的任务调度方法及装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103092698A (zh) * 2012-12-24 2013-05-08 中国科学院深圳先进技术研究院 云计算应用自动部署系统及方法
CN104915407A (zh) * 2015-06-03 2015-09-16 华中科技大学 一种基于Hadoop多作业环境下的资源调度方法
KR20150110511A (ko) * 2012-12-10 2015-10-02 지티이 코포레이션 클라우드 컴퓨팅중의 태스크 스케줄링 방법 및 시스템
CN106201681A (zh) * 2016-06-30 2016-12-07 湖南大学 Hadoop平台下基于预释放资源列表的任务调度算法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103226467B (zh) * 2013-05-23 2015-09-30 中国人民解放军国防科学技术大学 数据并行处理方法、系统及负载均衡调度器
US9672064B2 (en) * 2015-07-13 2017-06-06 Palo Alto Research Center Incorporated Dynamically adaptive, resource aware system and method for scheduling
CN105487930B (zh) * 2015-12-01 2018-10-16 中国电子科技集团公司第二十八研究所 一种基于Hadoop的任务优化调度方法
CN106911567A (zh) * 2017-01-13 2017-06-30 西北大学 面向大数据的高性能网络中多条固定路径带宽调度方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150110511A (ko) * 2012-12-10 2015-10-02 지티이 코포레이션 클라우드 컴퓨팅중의 태스크 스케줄링 방법 및 시스템
CN103092698A (zh) * 2012-12-24 2013-05-08 中国科学院深圳先进技术研究院 云计算应用自动部署系统及方法
CN104915407A (zh) * 2015-06-03 2015-09-16 华中科技大学 一种基于Hadoop多作业环境下的资源调度方法
CN106201681A (zh) * 2016-06-30 2016-12-07 湖南大学 Hadoop平台下基于预释放资源列表的任务调度算法

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
A Multi-Objective Optimization Scheduling Method Based on the Ant Colony Algorithm in Cloud Computing;Liyun Zuo等;《IEEE Access》;20151117;第3卷;2687-2699 *
Adaptive Task Scheduling Strategy Based on Dynamic Workload Adjustment for Heterogeneous Hadoop Clusters;Xiaolong Xu等;《IEEE SYSTEMS JOURNAL》;20140612;第10卷(第2期);471-482 *
HADOOP调度算法及其改进策略研究;李盼;《中国优秀硕士学位论文全文数据库 信息科技辑》;20131115(第11期);第4.2.1节,第4.4节 *
HaSTE:Hadoop YARN Scheduling Based on Task-Dependency and Resource-Demand;Yi Yao等;《2014 IEEE 7th International Con-ference on Cloud Computing》;20140702;第1节第4段,第2节,第3.1节,第3.4节 *
基于QOS约束的计算能力调度算法研究;丁宇光等;《四川理工学院学报(自然科学版)》;20120620;第25卷(第3期);47-50 *

Also Published As

Publication number Publication date
CN108469988A (zh) 2018-08-31

Similar Documents

Publication Publication Date Title
CN108469988B (zh) 一种基于异构Hadoop集群的任务调度方法
US10999353B2 (en) Beacon-based distributed data processing platform
US10635664B2 (en) Map-reduce job virtualization
KR101885688B1 (ko) 낮은 지연속도 데이터 액세스를 위한 데이터 스트림의 분할
US10715460B2 (en) Opportunistic resource migration to optimize resource placement
US10430438B2 (en) Dynamic n-dimensional cubes for hosted analytics
CN107832153B (zh) 一种Hadoop集群资源自适应分配方法
Li et al. Map-Balance-Reduce: An improved parallel programming model for load balancing of MapReduce
US10445433B2 (en) Methods and systems of query engines and secondary indexes implemented in a distributed database
CN103414761A (zh) 一种基于Hadoop架构的移动终端云资源调度方法
CN106933664B (zh) 一种Hadoop集群的资源调度方法及装置
US11256719B1 (en) Ingestion partition auto-scaling in a time-series database
US10158709B1 (en) Identifying data store requests for asynchronous processing
US20140201371A1 (en) Balancing the allocation of virtual machines in cloud systems
Senthilkumar et al. A survey on job scheduling in big data
Tao et al. Job scheduling optimization for multi-user MapReduce clusters
EP3818453A1 (en) System for optimizing storage replication in a distributed data analysis system using historical data access patterns
EP3158477B1 (en) Dynamic n-dimensional cubes for hosted analytics
US11714573B1 (en) Storage optimization in a distributed object store
US10594620B1 (en) Bit vector analysis for resource placement in a distributed system
JPWO2016092604A1 (ja) データ処理システムおよびデータアクセス方法
US11336519B1 (en) Evaluating placement configurations for distributed resource placement
Long et al. An improved topology schedule algorithm for storm system
Hanif et al. Jargon of Hadoop MapReduce scheduling techniques: a scientific categorization
Khan et al. Computational performance analysis of cluster-based technologies for big data analytics

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant