CN104407921A - 一种基于时间的yarn任务资源动态调度方法 - Google Patents
一种基于时间的yarn任务资源动态调度方法 Download PDFInfo
- Publication number
- CN104407921A CN104407921A CN201410819147.3A CN201410819147A CN104407921A CN 104407921 A CN104407921 A CN 104407921A CN 201410819147 A CN201410819147 A CN 201410819147A CN 104407921 A CN104407921 A CN 104407921A
- Authority
- CN
- China
- Prior art keywords
- task
- queue
- yarn
- time
- resource
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 23
- 238000013515 script Methods 0.000 claims abstract description 9
- 230000008569 process Effects 0.000 claims description 5
- 230000007613 environmental effect Effects 0.000 claims description 3
- 230000000737 periodic effect Effects 0.000 claims description 3
- 230000008859 change Effects 0.000 abstract description 4
- 230000000694 effects Effects 0.000 abstract description 3
- 238000013468 resource allocation Methods 0.000 abstract description 2
- 230000008901 benefit Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000003203 everyday effect Effects 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000010076 replication Effects 0.000 description 2
- 230000003750 conditioning effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000012804 iterative process Methods 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 230000008439 repair process Effects 0.000 description 1
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种基于时间的yarn任务资源动态调度方法,包括以下步骤:设计yarn队列,根据任务特点,设计多个队列,每个队列对应一类任务,队列的数量动态增加,同时同一层级所有队列的资源分配比例之和是100%;编写定时刷新队列的脚本,根据时间变化和业务需求,定时调用yarn控制台命令,刷新yarn任务队列的配置参数;提交任务到指定队列,提交任务到yarn框架上时,指定任务提交到哪个队列上,从而保证各个任务在指定队列上运行。该一种基于时间的yarn任务资源动态调度方法与现有技术相比,满足在不同时间负载变化大的任务的资源需要,达到充分利用系统资源、保证关键任务的效果,实用性强。
Description
技术领域
本发明涉及大数据技术领域,具体地说是一种实用性强、基于时间的yarn任务资源动态调度方法。
背景技术
大数据(Big data)通常用来形容一个公司创造的大量非结构化数据和半结构化数据,这些数据在下载到关系型数据库用于分析时会花费过多时间和金钱。MapReduce是一种编程模型,常用于大规模数据集(大于1TB)的并行运算,是Hadoop1.x版本主要的计算编程模型。但从业界使用分布式系统的变化趋势和 hadoop 框架的长远发展来看,MapReduce 的 JobTracker/TaskTracker 机制需要大规模的调整来修复它在可扩展性,内存消耗,线程模型,可靠性和性能上的缺陷。
旧的 Hadoop 架构受到了 JobTracker 的高度约束,JobTracker 负责整个集群的资源管理和作业调度。新的 yarn 架构打破了这种模型,允许一个新 ResourceManager 管理跨应用程序的资源使用,ApplicationMaster 负责管理作业的执行。这一更改消除了一处瓶颈,还改善了将 Hadoop 集群扩展到比以前大得多的配置的能力。此外,不同于传统的 MapReduce,yarn允许使用 Message Passing Interface 等标准通信模式,同时执行各种不同的编程模型,包括图形处理、迭代式处理、机器学习和一般集群计算。实际上,可以将 MapReduce 模型视为 yarn架构可运行的一些应用程序中的其中一个,只是为自定义开发公开了基础框架的更多功能。随着 yarn 变得更加健全,它有能力取代其他一些分布式处理框架,从而完全消除了专用于其他框架的资源开销,同时还可以简化整个系统。
Capacity Scheduler是YARN中默认的资源调度器,它适合于多用户共享集群的环境的调度器,采用队列的形式分配和调度集群资源。某个作业可被提交到某一个队列中,每个队列会配置一定比例的计算资源,且所有提交到队列中的作业共享该队列中的资源。空闲资源会被分配给那些未达到资源使用上限的队列,当某个未达到资源的队列需要资源时,一旦出现空闲资源资源,便会分配给他们。Capacity Scheduler支持批量调度任务、任务优先级划分、资源抢占和动态加载配置文件。
基于上述技术,现提供一种基于时间的yarn任务资源动态调度方法。
发明内容
本发明的技术任务是针对以上不足之处,提供一种实用性强、基于时间的yarn任务资源动态调度方法。
一种基于时间的yarn任务资源动态调度方法,其具体实现过程为:
设计yarn队列,根据任务特点,设计多个队列,每个队列对应一类任务,队列的数量动态增加,同时同一层级所有队列的资源分配比例之和是100%;
编写定时刷新队列的脚本,根据时间变化和业务需求,定时调用yarn控制台命令,刷新yarn任务队列的配置参数;
提交任务到指定队列,提交任务到yarn框架上时,指定任务提交到哪个队列上,从而保证各个任务在指定队列上运行。
所述定时任务脚本编写完成后,在指定时间将对应方案的配置文件复制到$YARN_HOME/conf目录下,并调用yarn控制台命令yarn rmadmin –refreshQueues 刷新配置文件。
提交yarn任务时,配置yarn框架提供的环境变量,即"mapreduce.job.queuename"来指定任务要提交到哪个队列上。
本发明的一种基于时间的yarn任务资源动态调度方法,具有以下优点:
该发明的一种基于时间的yarn任务资源动态调度方法满足了时间强相关类业务在不同时间段需要不同资源量的动态调度需求,充分利用了yarn框架下队列资源分配和任务资源抢占的机制,使用简单的方式加以调度,大大提高了Hadoop集群的资源利用率,并且由于yarn框架与计算逻辑的无关性,本方法不仅适用于MapReduce任务,还适用于spark任务、SparkStreaming任务等其他类型的大数据任务,有很高的实用价值,实用性强,易于推广。
附图说明
附图1为本发明的调度流程图。
具体实施方式
下面结合附图和具体实施例对本发明作进一步说明。
本发明提出一种基于时间的yarn任务资源动态调度方法,充分利用yarn框架下资源调度器的队列特性,通过将需要动态调度的任务分配到不同的队列中,通过脚本按时间动态刷新各队列之间的资源分配比例,从而达到动态调整各任务资源分配比例的效果,满足在不同时间负载变化大的任务的资源需要,达到充分利用系统资源、保证关键任务的效果。并且由于yarn框架与计算逻辑的无关性,本方法不仅适用于MapReduce任务,还适用于spark任务、SparkStreaming任务等其他类型的大数据任务,有很高的实用价值。
如附图1所示,其具体实现过程为:
设计yarn队列,根据任务特点,设计多个队列,每个队列对应一类任务,队列的数量可以动态增加,但不能动态减少,同时同一层级所有队列的资源分配比例之和是100%。
编写定时刷新队列的脚本,可根据不同系统类型使用不同的脚本语言,主要负责根据时间变化和业务需求,定时调用yarn控制台命令,刷新yarn任务队列的配置参数。
提交任务到指定队列,在提交任务到yarn框架上时,需要指定任务要提交到哪个队列上,从而保证各个任务在指定队列上运行。
基于上述步骤,其具体实现过程为:
根据业务需要,划分yarn层级队列;例如某公司有两个常驻内存的计算任务A和B,正常情况下任务A和任务B可以分别使用整个yarn集群50%的资源,而在每天中午11:00-13:00之间,任务B会有较大的计算压力,需要使用集群80%的资源来支撑,则需要准备2套capacity-scheduler.xml配置文件,分别对应两种资源配置方案;
这两套配置方案中,在root队列下设置两个子队列queueA和queueB,则关于队列和资源的部分分别配置如下:
方案1:
<property>
<name>yarn.scheduler.capacity.root.queues</name>
<value>queueA, queueB</value>
</property>
<property>
<name>yarn.scheduler.capacity.root.queueA.capacity</name>
<value>50.0</value>
</property>
<property>
<name>yarn.scheduler.capacity.root.queueB.capacity</name>
<value>50.0</value>
</property>
方案2:
<property>
<name>yarn.scheduler.capacity.root.queues</name>
<value>queueA, queueB</value>
</property>
<property>
<name>yarn.scheduler.capacity.root.queueA.capacity</name>
<value>20.0</value>
</property>
<property>
<name>yarn.scheduler.capacity.root.queueB.capacity</name>
<value>80.0</value>
</property>
编写定时任务脚本,在指定时间将对应方案的配置文件复制到$YARN_HOME/conf目录下,并调用yarn控制台命令yarn rmadmin –refreshQueues 刷新配置文件;如上例,即需要在每天11:00的时候,复制方案2的配置文件到$YARN_HOME/conf目录,刷新队列配置,然后在13:00的时候,复制方案1的配置文件到$YARN_HOME/conf目录,再刷新队列配置。
提交yarn任务时,需要配置yarn框架提供的环境变量,即"mapreduce.job.queuename"来指定任务要提交到哪个队列上,例如,将一个任务提交到queueA队列上,则需要在任务上下文对象中设置conf.set("mapreduce.job.queuename", "queueA")。
上述具体实施方式仅是本发明的具体个案,本发明的专利保护范围包括但不限于上述具体实施方式,任何符合本发明的一种基于时间的yarn任务资源动态调度方法的权利要求书的且任何所述技术领域的普通技术人员对其所做的适当变化或替换,皆应落入本发明的专利保护范围。
Claims (3)
1.一种基于时间的yarn任务资源动态调度方法,其特征在于,其具体实现过程为:
设计yarn队列,根据任务特点,设计多个队列,每个队列对应一类任务,队列的数量动态增加,同时同一层级所有队列的资源分配比例之和是100%;
编写定时刷新队列的脚本,根据时间变化和业务需求,定时调用yarn控制台命令,刷新yarn任务队列的配置参数;
提交任务到指定队列,提交任务到yarn框架上时,指定任务提交到哪个队列上,从而保证各个任务在指定队列上运行。
2.根据权利要求1所述的一种基于时间的yarn任务资源动态调度方法,其特征在于,所述定时任务脚本编写完成后,在指定时间将对应方案的配置文件复制到$YARN_HOME/conf目录下,并调用yarn控制台命令yarn rmadmin –refreshQueues 刷新配置文件。
3.根据权利要求1所述的一种基于时间的yarn任务资源动态调度方法,其特征在于,提交yarn任务时,配置yarn框架提供的环境变量,即"mapreduce.job.queuename"来指定任务要提交到哪个队列上。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410819147.3A CN104407921A (zh) | 2014-12-25 | 2014-12-25 | 一种基于时间的yarn任务资源动态调度方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410819147.3A CN104407921A (zh) | 2014-12-25 | 2014-12-25 | 一种基于时间的yarn任务资源动态调度方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104407921A true CN104407921A (zh) | 2015-03-11 |
Family
ID=52645554
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410819147.3A Pending CN104407921A (zh) | 2014-12-25 | 2014-12-25 | 一种基于时间的yarn任务资源动态调度方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104407921A (zh) |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105677467A (zh) * | 2015-12-31 | 2016-06-15 | 中国科学院深圳先进技术研究院 | 基于量化标签的Yarn资源调度器 |
CN107168782A (zh) * | 2017-04-24 | 2017-09-15 | 复旦大学 | 一种基于Spark与GPU的并行计算系统 |
CN107480071A (zh) * | 2017-08-25 | 2017-12-15 | 深圳大学 | 缓存数据迁移方法及装置 |
CN107608774A (zh) * | 2017-09-08 | 2018-01-19 | 新智云数据服务有限公司 | 一种任务调度方法、装置、设备及存储介质 |
CN107688492A (zh) * | 2016-08-05 | 2018-02-13 | 阿里巴巴集团控股有限公司 | 资源的控制方法、装置和集群资源管理系统 |
CN108228240A (zh) * | 2016-12-14 | 2018-06-29 | 北京国双科技有限公司 | 多任务队列中任务的处理方法和装置 |
CN108563508A (zh) * | 2018-04-27 | 2018-09-21 | 新华三大数据技术有限公司 | Yarn资源分配方法及装置 |
CN109684092A (zh) * | 2018-12-24 | 2019-04-26 | 新华三大数据技术有限公司 | 资源分配方法及装置 |
CN112148471A (zh) * | 2019-06-29 | 2020-12-29 | 华为技术服务有限公司 | 分布式计算系统中资源调度的方法和装置 |
US11003507B2 (en) | 2016-09-30 | 2021-05-11 | Huawei Technologies Co., Ltd. | Mapreduce job resource sizing using assessment models |
CN113127289A (zh) * | 2019-12-31 | 2021-07-16 | 奇安信科技集团股份有限公司 | 一种基于yarn集群的资源管理方法、计算机设备和存储介质 |
-
2014
- 2014-12-25 CN CN201410819147.3A patent/CN104407921A/zh active Pending
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105677467A (zh) * | 2015-12-31 | 2016-06-15 | 中国科学院深圳先进技术研究院 | 基于量化标签的Yarn资源调度器 |
CN107688492A (zh) * | 2016-08-05 | 2018-02-13 | 阿里巴巴集团控股有限公司 | 资源的控制方法、装置和集群资源管理系统 |
CN107688492B (zh) * | 2016-08-05 | 2021-11-09 | 阿里巴巴集团控股有限公司 | 资源的控制方法、装置和集群资源管理系统 |
US11003507B2 (en) | 2016-09-30 | 2021-05-11 | Huawei Technologies Co., Ltd. | Mapreduce job resource sizing using assessment models |
CN108228240B (zh) * | 2016-12-14 | 2021-02-26 | 北京国双科技有限公司 | 多任务队列中任务的处理方法和装置 |
CN108228240A (zh) * | 2016-12-14 | 2018-06-29 | 北京国双科技有限公司 | 多任务队列中任务的处理方法和装置 |
CN107168782A (zh) * | 2017-04-24 | 2017-09-15 | 复旦大学 | 一种基于Spark与GPU的并行计算系统 |
CN107480071A (zh) * | 2017-08-25 | 2017-12-15 | 深圳大学 | 缓存数据迁移方法及装置 |
CN107608774A (zh) * | 2017-09-08 | 2018-01-19 | 新智云数据服务有限公司 | 一种任务调度方法、装置、设备及存储介质 |
CN108563508A (zh) * | 2018-04-27 | 2018-09-21 | 新华三大数据技术有限公司 | Yarn资源分配方法及装置 |
CN109684092A (zh) * | 2018-12-24 | 2019-04-26 | 新华三大数据技术有限公司 | 资源分配方法及装置 |
CN112148471A (zh) * | 2019-06-29 | 2020-12-29 | 华为技术服务有限公司 | 分布式计算系统中资源调度的方法和装置 |
CN112148471B (zh) * | 2019-06-29 | 2023-07-07 | 华为技术服务有限公司 | 分布式计算系统中资源调度的方法和装置 |
CN113127289A (zh) * | 2019-12-31 | 2021-07-16 | 奇安信科技集团股份有限公司 | 一种基于yarn集群的资源管理方法、计算机设备和存储介质 |
CN113127289B (zh) * | 2019-12-31 | 2024-04-12 | 奇安信科技集团股份有限公司 | 一种基于yarn集群的资源管理方法、计算机设备和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104407921A (zh) | 一种基于时间的yarn任务资源动态调度方法 | |
CN107360206B (zh) | 一种区块链共识方法、设备及系统 | |
CN103078941B (zh) | 一种分布式计算系统的任务调度方法 | |
KR101248170B1 (ko) | 멀티코어 아키텍처 내의 리소스 관리 | |
US10783436B2 (en) | Deep learning application distribution | |
US9137050B2 (en) | Demand response system incorporating a graphical processing unit | |
CN110119311A (zh) | 一种基于fpga的分布式流计算系统加速方法 | |
CN111026519B (zh) | 基于分布式的任务优先级调度方法和系统及存储介质 | |
Wu et al. | Real-time load balancing scheduling algorithm for periodic simulation models | |
CN101819540A (zh) | 在集群中调度任务的方法和系统 | |
US10942824B2 (en) | Programming model and framework for providing resilient parallel tasks | |
CN106354563A (zh) | 用于3d重建的分布式计算系统以及3d重建方法 | |
CN108268314A (zh) | 一种多线程任务并发处理的方法 | |
Miao et al. | Spotserve: Serving generative large language models on preemptible instances | |
US20170078372A1 (en) | Breadth-First Resource Allocation System and Methods | |
Li et al. | Flink‐ER: An Elastic Resource‐Scheduling Strategy for Processing Fluctuating Mobile Stream Data on Flink | |
CN102193831A (zh) | 一种建立层次化的映射/归约并行编程模型的方法 | |
US7614056B1 (en) | Processor specific dispatching in a heterogeneous configuration | |
CN111240824A (zh) | 一种cpu资源调度方法及电子设备 | |
Khaitan et al. | Proactive task scheduling and stealing in master-slave based load balancing for parallel contingency analysis | |
Zhang et al. | N-storm: Efficient thread-level task migration in apache storm | |
De Munck et al. | Revisiting conservative time synchronization protocols in parallel and distributed simulation | |
CN105183441A (zh) | 一种采用微内核架构实现的工作流管理系统 | |
García-Valls et al. | Adjusting middleware knobs to suit CPS domains | |
De Munck et al. | Design and performance evaluation of a conservative parallel discrete event core for GES |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20150311 |