CN107590003B - 一种Spark任务分配方法和系统 - Google Patents

一种Spark任务分配方法和系统 Download PDF

Info

Publication number
CN107590003B
CN107590003B CN201710895070.1A CN201710895070A CN107590003B CN 107590003 B CN107590003 B CN 107590003B CN 201710895070 A CN201710895070 A CN 201710895070A CN 107590003 B CN107590003 B CN 107590003B
Authority
CN
China
Prior art keywords
task
node
nodes
pairing
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.)
Active
Application number
CN201710895070.1A
Other languages
English (en)
Other versions
CN107590003A (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.)
Shenzhen University
Original Assignee
Shenzhen 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 Shenzhen University filed Critical Shenzhen University
Priority to CN201710895070.1A priority Critical patent/CN107590003B/zh
Publication of CN107590003A publication Critical patent/CN107590003A/zh
Application granted granted Critical
Publication of CN107590003B publication Critical patent/CN107590003B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明属于计算机技术领域,尤其涉及一种Spark任务分配方法和系统。首先基于数据位置的选择方法对当前提交的任务和已配置的资源中所包含的节点进行配对,生成配对结果;利用已生成的节点标识与存储设备特征标识的对应关系,将配对结果中所包含的节点分组为固态硬盘节点组和机械硬盘节点组;若当前任务的操作数据同时存在于固态硬盘节点组的节点和机械硬盘节点组的节点中,优先将任务分配到固态硬盘节点组的节点中执行,即最大限度地将任务分配到配置有SSD的计算节点上,从而充分利用SSD高速读、写以及高吞吐率的特性,加快任务的执行速度,提升集群的服务质量。

Description

一种Spark任务分配方法和系统
技术领域
本发明属于计算机技术领域,尤其涉及一种Spark任务分配方法和系统。
背景技术
Spark是目前产业界广泛使用的高效的大数据计算框架,将Spark部署到高性能计算集群中可有效地提升Spark的大数据处理效率。高性能计算集群(High PerformanceComputing Cluster,HPC Cluster)是通过对不同的计算节点配置不同的存储设备,搭建了基于固态硬盘(Solid State Drives,SSD)和机械硬盘(Hard Disk Drive,HDD)混合的分布式文件系统和计算集群。高性能计算集群综合利用SSD的高速读、写和高吞吐率的特性以及HDD的大容量、廉价的特性,在保证存储和计算成本的前提下,实现了集群存储和计算能力的有效提升。
为了实现系统的容错功能,集群通常采用一块数据存储多个副本的策略,即集群的管理系统通常会合理地搭配SSD和HDD的使用,其中典型的使用策略是将数据的一个副本存储在SSD节点,其它副本存储在HDD节点。如图4所示,其展示了现有的基于SSD和HDD混合存储的高性能计算集群的拓扑结构。
当前Spark的任务分配策略是基于操作数据的位置,将任务分配到存储有该任务操作数据的计算节点,将任务和数据部署到同一计算节点,从而避免了数据的远程读取,实现了数据的本地处理。但是,目前基于数据位置的分配策略忽略了SSD和HDD的不同存储特性,未针对SSD和HDD不同的存储特性做出有针对性的利用,例如,如果任务操作的数据同时存储在SSD节点和HDD节点时,当前Spark在进行任务分配时会随机地选择SSD节点或HDD节点中的任一节点作为计算节点。因此,现有的Spark由于没有考虑上述集群所具备的SSD和HDD的异构特性,随机对任务进行分配,无形中降低了Spark的执行效率。
发明内容
本发明所要解决的技术问题为提供一种Spark任务分配方法和系统,旨在解决优化现有的Spark应用程序的执行效率的问题。
为解决上述技术问题,本发明提供了一种Spark任务分配方法,所述方法包括:
基于数据位置的选择方法对当前提交的任务和已配置的资源中所包含的节点进行配对,生成配对结果;
利用所述配对结果中所包含节点的节点标识,查找已生成的节点标识与存储设备特征标识的对应关系,获取相应的存储设备特征标识;
按照所述存储设备特征标识将所述配对结果中所包含节点分组为固态硬盘节点组和机械硬盘节点组;
若所述任务的操作数据同时存在于所述固态硬盘节点组的节点和所述机械硬盘节点组的节点中,则将所述任务分配至所述固态硬盘节点组的任意一个节点上执行。
进一步地,所述方法还包括:
若所述任务的操作数据只存在于所述固态硬盘节点组的节点中,则将所述任务分配至所述固态硬盘节点组的任意一个节点上执行;
若所述任务的操作数据只存在于所述机械硬盘节点组的节点中,则将所述任务分配至所述机械硬盘节点组的任意一个节点上执行。
进一步地,所述方法还包括:获取集群中所有节点的节点标识、以及各所述节点配置的存储设备特征标识,生成所述节点标识与存储设备特征标识的对应关系;其中,所述存储设备特征标识包括固态硬盘标识和机械硬盘标识。
进一步地,所述方法还包括:响应于所述当前提交的任务的资源请求,将满足所述资源请求条件的节点配置给所述当前提交的任务,以完成资源的配置。
进一步地,所述基于数据位置的选择方法对任务和已配置的资源中所包含的节点进行配对,生成初始配对结果具体包括:
基于数据位置的选择方法,将所述任务和所述已配置的资源中存储有所述任务的操作数据的节点进行配对;
若配对成功,则生成相应的所述配对结果;
若配对不成功,则将所述任务随机分配给所述已配置的资源中的任意节点,并生成相应的所述配对结果。
为解决上述技术问题,本发明还提供了一种Spark任务分配系统,所述系统包括:
资源调度模块,用于基于数据位置的选择方法对当前提交的任务和已配置的资源中所包含的节点进行配对,生成配对结果;
资源过滤模块,用于利用所述配对结果中所包含节点的节点标识,查找已生成的节点标识与存储设备特征标识的对应关系,获取相应的存储设备特征标识;
所述资源过滤模块,还用于按照所述存储设备特征标识将所述配对结果中所包含节点分组为固态硬盘节点组和机械硬盘节点组;
所述资源过滤模块,还用于若所述任务的操作数据同时存在于所述固态硬盘节点组的节点和所述机械硬盘节点组的节点中,则将所述任务分配至所述固态硬盘节点组的任意一个节点上执行。
进一步地,所述资源过滤模块还用于:
若所述任务的操作数据只存在于所述固态硬盘节点组的节点中,则将所述任务分配至所述固态硬盘节点组的任意一个节点上执行;
若所述任务的操作数据只存在于所述机械硬盘节点组的节点中,则将所述任务分配至所述机械硬盘节点组的任意一个节点上执行。
进一步地,所述系统还包括存储特性统计模块:用于获取集群中所有节点的节点标识、以及各所述节点配置的存储设备特征标识,生成所述节点标识与存储设备特征标识的对应关系;其中,所述存储设备特征标识包括固态硬盘标识和机械硬盘标识。
进一步地,所述系统还包括资源配置模块:用于响应于所述当前提交的任务的资源请求,将满足所述资源请求条件的节点配置给所述当前提交的任务,以完成资源的配置。
进一步地,所述资源调度模块具体用于:
基于数据位置的选择方法,将所述任务和所述已配置的资源中存储有所述任务的操作数据的节点进行配对;
若配对成功,则生成相应的所述配对结果;
若配对不成功,则将所述任务随机分配给所述已配置的资源中的任意节点,并生成相应的所述配对结果。
本发明与现有技术相比,有益效果在于:
本发明提供了一种Spark任务分配方法,首先基于数据位置的选择方法对当前提交的任务和已配置的资源中所包含的节点进行配对,生成配对结果;利用已生成的节点标识与存储设备特征标识的对应关系,将配对结果中所包含的节点分组为固态硬盘节点组和机械硬盘节点组;若当前任务的操作数据同时存在于固态硬盘节点组的节点和机械硬盘节点组的节点中,优先将任务分配到固态硬盘节点组的节点中执行,即最大限度地将任务分配到配置有SSD的计算节点上,从而充分利用SSD高速读、写以及高吞吐率的特性,加快任务的执行速度,提升集群的服务质量。
附图说明
图1是本发明第一个实施例提供的一种Spark任务分配方法流程图;
图2是本发明第二个实施例提供的一种Spark任务分配系统示意图;
图3是本发明第三个实施例提供的一种Spark任务分配系统示意图;
图4是本发明提供的现有的基于SSD和HDD混合存储的高性能计算集群的拓扑结构示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
作为本发明的第一个实施例,如图1所示,本发明提供的一种Spark任务分配方法,该方法包括如下步骤:
步骤S101:获取集群中所有节点的节点标识、以及各节点配置的存储设备特征标识,生成节点标识与存储设备特征标识的对应关系;其中,存储设备特征标识包括固态硬盘标识和机械硬盘标识。
在本实施例中,将获取的集群中所有节点的节点标识进行统计,生成节点集合DNs(用于保存和管理集群中有效的计算节点),DNs={dn1,dn2,dn3,…,dnm},其中,dn1,dn2,dn3,…,dnm分别表示各节点标识。根据DNs将获取的各节点配置的存储设备特征标识进行统计,生成存储设备集合CHARs(即用于保存和管理DNs中对应节点所配置的存储设备的特征),例如,CHARs={ssd,hdd,hdd,…,ssd},其中,ssd表示其对应的节点配置的存储设备为固态硬盘(SSD),hdd表示其对应的节点配置的存储设备为机械硬盘(HDD)。通过DNs与CHARs两个变量的建立,即实现了生成节点标识与存储设备特征标识的对应关系。上述集群中部署了m个计算节点,节点dn1配置的存储设备是SSD,节点dn2配置的存储设备是HDD,节点dn3配置的存储设备是HDD,节点dnm配置的存储设备是SSD。
本发明所提供的方法,首先通过步骤S101对集群各节点和节点的存储特性做统计,可以理解为系统初始化的过程,而每当一个任务在集群中被执行时,都需要执行下述步骤S102-S106的操作。
步骤S102:响应于当前提交的任务的资源请求,将满足该资源请求条件的节点配置给当前提交的任务,以完成资源的配置。步骤S102为资源配置的过程,在本实施例中,资源配置过程具体如下:
首先,集群中所有的节点定期向资源配置模块(Provisioner)发送“心跳”数据,“心跳”数据中包括该节点目前的空闲资源(如可用的CPU个数和内存大小等)。Provisioner模块获取这些信息后,将其保存。
用户/终端(Driver)根据当前的任务所需生成当前提交的任务的资源请求,并向集群中的管理者(Master)的Provisioner模块发送该资源请求(请求信息中包括了需要的CPU个数和内存大小等内容)。
Provisioner模块获取Driver的资源请求后,查询节点的空闲资源信息,将空闲资源满足请求的节点分配给该Driver(同时还包含了具体分配哪些节点以及各节点分配多少个CPU和多大的内存空间等信息),从而完成资源的配置。
步骤S103:基于数据位置的选择方法对当前提交的任务和已配置的资源中所包含的节点进行配对,生成配对结果。基于数据位置的选择方法是指将任务分配到存储有该任务操作数据的节点(将任务和任务操作数据部署到同一节点,可避免数据的远程传输),因此,步骤S103表示最大限度地将任务和存储有其操作数据的节点进行配对。若配对成功,则生成相应的配对结果;若配对不成功,则将当前提交的任务随机分配给已配置的资源中的任意不同的节点,并生成相应的配对结果。例如:{t1,{dn1,dn2}}表示任务t1和节点dn1与节点dn2配对成功,若存在无法配对的任务,则将任务随机分配给不同的节点。
步骤S104:利用上述配对结果中所包含节点的节点标识,查找上述已生成的节点标识与存储设备特征标识的对应关系,获取相应的存储设备特征标识。
步骤S105:按照步骤S104获取的相应的存储设备特征标识,将配对结果中所包含节点分组为固态硬盘节点组和机械硬盘节点组。在本实施例中,按SSD和HDD将配对结果中所包含的节点分组为固态硬盘节点组DNssd和机械硬盘节点组DNhdd,DNssd={…,dni,…},DNhdd={…,dnj,…},DNssd包含了配对结果中存储设备标识为SSD的节点,DNhdd包含了配对结果中存储设备标识为HDD的节点。
步骤S106:若当前提交的任务的操作数据同时存在于固态硬盘节点组DNssd的节点和机械硬盘节点组DNhdd的节点中,则将该任务分配至固态硬盘节点组DNssd的任意一个节点上执行。例如:配对结果为{t1,{dn1,dn2}},则将配对结果进一步精确为{t1,dn1}和{t1,dn2},依据是dn1属于DNssd,而dn2属于DNhdd,则将任务优先分配至存储设备标识为SSD的dn1节点执行。
若所述任务的操作数据只存在于所述固态硬盘节点组的节点中,则将所述任务分配至所述固态硬盘节点组的任意一个节点上执行;
若所述任务的操作数据只存在于所述机械硬盘节点组的节点中,则将所述任务分配至所述机械硬盘节点组的任意一个节点上执行。
步骤S106即保证将任务优先分配至存储设备为SSD的节点的原则,最大限度地将任务分配到配置有SSD的计算节点上,从而充分利用SSD高速读、写以及高吞吐率的特性,加快任务的执行速度,提升集群的服务质量。如果无法实现任务与SSD节点的匹配,则仍维持步骤S103的配对结果进行分配。
综上所述,本发明第一个实施例所提供的Spark任务分配方法,面对异构存储的Spark,在基于数据位置的选择方法进行任务分配(任务与节点配对)的基础上,对该任务分配策略进行优化,进行精确配对,最大限度地将任务分配到配置有SSD的节点上,从而充分利用SSD高速读、写以及高吞吐率的特性,加快任务的执行速度,提升集群的服务质量。
作为本发明的第二个实施例,如图2所示,本发明提供的一种Spark任务分配系统,该系统包括存储特性统计模块10、资源配置模块20、资源调度模块30、资源过滤模块40。
存储特性统计模块10:用于获取集群中所有节点的节点标识、以及各节点配置的存储设备特征标识,生成节点标识与存储设备特征标识的对应关系;其中,存储设备特征标识包括固态硬盘标识和机械硬盘标识。
在本实施例中,将获取的集群中所有节点的节点标识进行统计,生成节点集合DNs(用于保存和管理集群中有效的计算节点),DNs={dn1,dn2,dn3,…,dnm},其中,dn1,dn2,dn3,…,dnm分别表示各节点标识。根据DNs将获取的各节点配置的存储设备特征标识进行统计,生成存储设备集合CHARs(即用于保存和管理DNs中对应节点所配置的存储设备的特征),例如,CHARs={ssd,hdd,hdd,…,ssd},其中,ssd表示其对应的节点配置的存储设备为固态硬盘(SSD),hdd表示其对应的节点配置的存储设备为机械硬盘(HDD)。通过DNs与CHARs两个变量的建立,即实现了生成节点标识与存储设备特征标识的对应关系。上述集群中部署了m个计算节点,节点dn1配置的存储设备是SSD,节点dn2配置的存储设备是HDD,节点dn3配置的存储设备是HDD,节点dnm配置的存储设备是SSD。
本发明所提供的系统,首先通过模块10对集群各节点和节点的存储特性做统计,可以理解为系统初始化的过程,而每当一个任务在集群中被执行时,都需要模块20、30和40执行操作。
资源配置模块20:用于响应于当前提交的任务的资源请求,将满足该资源请求条件的节点配置给当前提交的任务,以完成资源的配置。20完成了资源配置的过程,在本实施例中,资源配置过程具体如下:
首先,集群中所有的节点定期向资源配置模块20发送“心跳”数据,“心跳”数据中包括该节点目前的空闲资源(如可用的CPU个数和内存大小等)。资源配置模块20获取这些信息后,将其保存。
用户/终端(Driver)根据当前的任务所需生成当前提交的任务的资源请求,并向集群中的管理者(Master)的资源配置模块20发送该资源请求(请求信息中包括了需要的CPU个数和内存大小等内容)。
资源配置模块20获取Driver的资源请求后,查询节点的空闲资源信息,将空闲资源满足请求的节点分配给该Driver(同时还包含了具体分配哪些节点以及各节点分配多少个CPU和多大的内存空间等信息),从而完成资源的配置。
资源调度模块30:用于基于数据位置的选择方法对当前提交的任务和已配置的资源中所包含的节点进行配对,生成配对结果。基于数据位置的选择方法是指将任务分配到存储有该任务操作数据的节点(将任务和任务操作数据部署到同一节点,可避免数据的远程传输),因此,模块30作用是最大限度地将任务和存储有其操作数据的节点进行配对。若配对成功,则生成相应的配对结果;若配对不成功,则将当前提交的任务随机分配给已配置的资源中的任意不同的节点,并生成相应的配对结果。例如:{t1,{dn1,dn2}}表示任务t1和节点dn1与节点dn2配对成功,若存在无法配对的任务,则将任务随机分配给不同的节点。
资源过滤模块40:用于利用资源调度模块30的配对结果中所包含节点的节点标识,查找存储特性统计模块10已生成的节点标识与存储设备特征标识的对应关系,获取相应的存储设备特征标识。
资源过滤模块40:还用于按照获取的相应的存储设备特征标识,将配对结果中所包含节点分组为固态硬盘节点组和机械硬盘节点组。在本实施例中,按SSD和HDD将配对结果中所包含的节点分组为固态硬盘节点组DNssd和机械硬盘节点组DNhdd,DNssd={…,dni,…},DNhdd={…,dnj,…},DNssd包含了配对结果中存储设备标识为SSD的节点,DNhdd包含了配对结果中存储设备标识为HDD的节点。
资源过滤模块40:还用于若当前提交的任务的操作数据同时存在于固态硬盘节点组DNssd的节点和机械硬盘节点组DNhdd的节点中,则将该任务分配至固态硬盘节点组DNssd的任意一个节点上执行。例如:配对结果为{t1,{dn1,dn2}},则将配对结果进一步精确为{t1,dn1}和{t1,dn2},依据是dn1属于DNssd,而dn2属于DNhdd,则将任务优先分配至存储设备标识为SSD的dn1节点执行。
若所述任务的操作数据只存在于所述固态硬盘节点组的节点中,则将所述任务分配至所述固态硬盘节点组的任意一个节点上执行;
若所述任务的操作数据只存在于所述机械硬盘节点组的节点中,则将所述任务分配至所述机械硬盘节点组的任意一个节点上执行。
资源过滤模块40在保证将任务优先分配至存储设备为SSD的节点的原则,最大限度地将任务分配到配置有SSD的计算节点上,从而充分利用SSD高速读、写以及高吞吐率的特性,加快任务的执行速度,提升集群的服务质量。如果无法实现任务与SSD节点的匹配,则仍维持资源调度模块30的配对结果进行分配。
综上所述,本发明第二个实施例所提供的Spark任务分配系统,在基于数据位置的选择方法进行任务分配(任务与节点配对)的基础上,对该任务分配策略进行优化,面向异构存储的Spark特性进行精确配对,最大限度地将任务分配到配置有SSD的节点上,从而充分利用SSD高速读、写以及高吞吐率的特性,加快任务的执行速度,提升集群的服务质量。
作为本发明的第三个实施例,如图3所示,为本发明提供的一种Spark任务分配系统示意图。其中,Spark(Master)表示集群中的管理者,Application(Driver)用户或者终端,Provisioner表示资源配置模块,Scheduler表示资源调度模块,Resource Filter表示资源过滤模块,Storage Monitor表示存储特性统计模块。另外,在计算机领域,HDFS表示集群,其包含两类节点,并以管理者-工作者模式运行,即一个NameNode(管理者)和多个DataNode(工作者)。图3中展示了异构存储的Spark任务分配框架的工作原理,在本实施例中,具体实现过程如下:
系统中的Storage Monitor模块首先要获取集群中各节点配置的存储设备特征信息,并生成节点标识与存储设备特征标识的对应关系。
另外,所有的节点定期向Provisioner模块发送“心跳”,其中包括该节点目前的空闲资源(可用的CPU个数和内存大小)。Provisioner模块获取这些信息后,将其保存。
当一个任务需要在系统中被执行时,先对该任务进行分配,具体分配过程如下:
首先,系统要完成资源配置过程:
Driver向Master的Provisioner模块发送资源请求,请求信息中包括了需要的CPU个数和内存大小等内容;
Provisioner模块获取Driver的资源请求后,查询节点的空闲资源信息,将空闲资源满足请求的计算节点分配给该Driver,具体包括分配哪些节点以及各节点分配多少个CPU和多大的内存空间,完成资源的配置。
其次,完成资源的选择过程:
provisioner模块将已配置的资源信息发送至Scheduler和ResourceFilter模块,分别由Scheduler和ResourceFilter模块完成基于数据位置的配对和面向异构存储的精确配对;
Scheduler模块基于数据位置策略对已配置的资源和任务进行匹配,最大限度地将任务和存储有其操作数据的节点进行配对。如果存在无法匹配的任务,则将这些任务随机分配给不同的节点。例如,{t1,{dn1,dn2}}表示任务t1和节点dn1与dn2匹配成功;
ResourceFilter模块获取已配置的资源信息后,向StorageMonitor模块发送特征查询请求,查询Scheduler配对结果中所包含的节点的存储设备特征标识,根据该存储设备特征标识将节点分组为DNssd和DNhdd,确定将任务优先分配至DNssd中的节点执行。
Scheduler获取ResourceFilter的分配结果,按照该分配结果,将任务分配到其对应的节点上执行。例如,ResourceFilter将分配结果{t1,dn1}发送至Scheduler,Scheduler模块将匹配结果发送至Driver,Driver获取到资源信息后,将任务t1发送至指定的节点dn1。
节点获取到任务后,执行该任务。
综上所述,在现有的Spark没有考虑集群所具备的SSD和HDD混合异构特性的基础上,本发明第三个实施例所提供的系统对SSD节点做有针对性的选择,当任务的操作数据同时存储在SSD节点和HDD节点时,将任务分配到SSD节点,可以充分利用SSD高速读、写以及高吞吐率的特性,加快任务的执行速度,提升集群的服务质量,大大提升了Spark应用程序的执行效率。
需要说明的是,对于前述的各方法实施例,为了简便描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定都是本发明所必须的。
以上所述仅为本发明的较佳实施例而已,并不用以限制发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种Spark任务分配方法,其特征在于,所述方法包括:
基于数据位置的选择方法对当前提交的任务和已配置的资源中所包含的节点进行配对,生成配对结果;其中,所述资源中包含节点为存储有任务操作数据的节点;其中,所述基于数据位置的选择方法是指将任务分配到存储有该任务操作数据的节点;
利用所述配对结果中所包含节点的节点标识,查找已生成的节点标识与存储设备特征标识的对应关系,获取相应的存储设备特征标识;
按照所述存储设备特征标识将所述配对结果中所包含节点分组为固态硬盘节点组和机械硬盘节点组;
若所述任务的操作数据同时分别存在于所述固态硬盘节点组的节点和所述机械硬盘节点组的节点中,则将所述任务分配至所述固态硬盘节点组的任意一个节点上执行。
2.如权利要求1所述的方法,其特征在于,所述方法还包括:
若所述任务的操作数据只存在于所述固态硬盘节点组的节点中,则将所述任务分配至所述固态硬盘节点组的任意一个节点上执行;
若所述任务的操作数据只存在于所述机械硬盘节点组的节点中,则将所述任务分配至所述机械硬盘节点组的任意一个节点上执行。
3.如权利要求1所述的方法,其特征在于,所述方法还包括:
获取集群中所有节点的节点标识、以及各所述节点配置的存储设备特征标识,生成所述节点标识与存储设备特征标识的对应关系;其中,所述存储设备特征标识包括固态硬盘标识和机械硬盘标识。
4.如权利要求1所述的方法,其特征在于,所述基于数据位置的选择方法对当前提交的任务和已配置的资源中所包含的节点进行配对,生成配对结果之前,所述方法还包括:
响应于所述当前提交的任务的资源请求,将满足资源请求条件的节点配置给所述当前提交的任务,以完成资源的配置。
5.如权利要求1所述的方法,其特征在于,所述基于数据位置的选择方法对任务和已配置的资源中所包含的节点进行配对,生成初始配对结果包括:
基于数据位置的选择方法,将所述任务和所述已配置的资源中存储有所述任务的操作数据的节点进行配对;
若配对成功,则生成相应的所述配对结果;
若配对不成功,则将所述任务随机分配给所述已配置的资源中的任意节点,并生成相应的所述配对结果。
6.一种Spark任务分配系统,其特征在于,所述系统包括:
资源调度模块,用于基于数据位置的选择方法对当前提交的任务和已配置的资源中所包含的节点进行配对,生成配对结果;其中,所述资源中包含节点为存储有任务操作数据的节点;其中,所述基于数据位置的选择方法是指将任务分配到存储有该任务操作数据的节点;
资源过滤模块,用于利用所述配对结果中所包含节点的节点标识,查找已生成的节点标识与存储设备特征标识的对应关系,获取相应的存储设备特征标识;
所述资源过滤模块,还用于按照所述存储设备特征标识将所述配对结果中所包含节点分组为固态硬盘节点组和机械硬盘节点组;
所述资源过滤模块,还用于若所述任务的操作数据同时存在于所述固态硬盘节点组的节点和所述机械硬盘节点组的节点中,则将所述任务分配至所述固态硬盘节点组的任意一个节点上执行。
7.如权利要求6所述的系统,其特征在于,所述资源过滤模块还用于:
若所述任务的操作数据只存在于所述固态硬盘节点组的节点中,则将所述任务分配至所述固态硬盘节点组的任意一个节点上执行;
若所述任务的操作数据只存在于所述机械硬盘节点组的节点中,则将所述任务分配至所述机械硬盘节点组的任意一个节点上执行。
8.如权利要求6所述的系统,其特征在于,所述系统还包括存储特性统计模块:
用于获取集群中所有节点的节点标识、以及各所述节点配置的存储设备特征标识,生成所述节点标识与存储设备特征标识的对应关系;其中,所述存储设备特征标识包括固态硬盘标识和机械硬盘标识。
9.如权利要求6所述的系统,其特征在于,所述系统还包括资源配置模块:
用于响应于所述当前提交的任务的资源请求,将满足资源请求条件的节点配置给所述当前提交的任务,以完成资源的配置。
10.如权利要求6所述的系统,其特征在于,所述资源调度模块具体用于:
基于数据位置的选择方法,将所述任务和所述已配置的资源中存储有所述任务的操作数据的节点进行配对;
若配对成功,则生成相应的所述配对结果;
若配对不成功,则将所述任务随机分配给所述已配置的资源中的任意节点,并生成相应的所述配对结果。
CN201710895070.1A 2017-09-28 2017-09-28 一种Spark任务分配方法和系统 Active CN107590003B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710895070.1A CN107590003B (zh) 2017-09-28 2017-09-28 一种Spark任务分配方法和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710895070.1A CN107590003B (zh) 2017-09-28 2017-09-28 一种Spark任务分配方法和系统

Publications (2)

Publication Number Publication Date
CN107590003A CN107590003A (zh) 2018-01-16
CN107590003B true CN107590003B (zh) 2020-10-23

Family

ID=61048705

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710895070.1A Active CN107590003B (zh) 2017-09-28 2017-09-28 一种Spark任务分配方法和系统

Country Status (1)

Country Link
CN (1) CN107590003B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109992575B (zh) * 2019-02-12 2020-02-14 哈尔滨学院 大数据的分布式存储系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102541460A (zh) * 2010-12-20 2012-07-04 中国移动通信集团公司 一种多磁盘场景下的磁盘管理方法和设备
US9086991B2 (en) * 2013-02-19 2015-07-21 Infinidat Ltd. Solid state drive cache recovery in a clustered storage system
US9696913B1 (en) * 2015-04-13 2017-07-04 Cohesity, Inc. Tier-optimized write scheme
CN107179883A (zh) * 2017-05-19 2017-09-19 深圳大学 一种基于SSD和HDD的混合存储系统的Spark架构优化方法
CN107193494A (zh) * 2017-05-19 2017-09-22 深圳大学 一种基于ssd和hdd混合存储系统的rdd持久化方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102541460A (zh) * 2010-12-20 2012-07-04 中国移动通信集团公司 一种多磁盘场景下的磁盘管理方法和设备
US9086991B2 (en) * 2013-02-19 2015-07-21 Infinidat Ltd. Solid state drive cache recovery in a clustered storage system
US9696913B1 (en) * 2015-04-13 2017-07-04 Cohesity, Inc. Tier-optimized write scheme
CN107179883A (zh) * 2017-05-19 2017-09-19 深圳大学 一种基于SSD和HDD的混合存储系统的Spark架构优化方法
CN107193494A (zh) * 2017-05-19 2017-09-22 深圳大学 一种基于ssd和hdd混合存储系统的rdd持久化方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
"Triple-H: A Hybrid Approach to Accelerate HDFS on HPC Clusters with Heterogeneous Storage Architecture";Nusrat Sharmin Islam 等;《15th IEEE/ACM International Symposium on Cluster, Cloud and Grid Computing》;20151231;全文 *
"一种基于SSD的高性能Hadoop系统的设计与应用";陈丽 等;《广东水利电力职业技术学院学报》;20160621;第14卷(第1期);第39-44页 *
"面向固态硬盘的Spark数据持久化方法设计";陆克中 等;《计算机研究与发展》;20170816(第06期);第1381-1390页 *

Also Published As

Publication number Publication date
CN107590003A (zh) 2018-01-16

Similar Documents

Publication Publication Date Title
CN107066319B (zh) 一种面向异构资源的多维调度系统
WO2018149221A1 (zh) 一种设备管理方法及网管系统
US9548912B2 (en) System and method for supporting smart buffer management in a distributed data grid
EP3001644B1 (en) Distributed storage system, cluster node and interval management method thereof
CN107241281B (zh) 一种数据处理方法及其装置
US9864759B2 (en) System and method for providing scatter/gather data processing in a middleware environment
WO2019019400A1 (zh) 任务分布式处理方法、装置、存储介质和服务器
US20190319895A1 (en) Resource Scheduling Method And Apparatus
US20160275123A1 (en) Pipeline execution of multiple map-reduce jobs
CN105357296A (zh) 一种Docker云平台下弹性缓存系统
US10686728B2 (en) Systems and methods for allocating computing resources in distributed computing
CN102255926B (zh) MapReduce系统中的任务分配方法、系统及装置
US9454575B2 (en) Processing a metric of a component of a software-defined network
CN105701099B (zh) 用于在分布式环境中执行任务的方法、装置及系统
US12038879B2 (en) Read and write access to data replicas stored in multiple data centers
CN106656525B (zh) 一种数据广播系统、数据广播方法及设备
US20130152103A1 (en) Preparing parallel tasks to use a synchronization register
CN111580951B (zh) 一种任务分配方法及资源管理平台
CN105592110A (zh) 一种资源调度方法及装置
CN110569302A (zh) 一种基于lucene的分布式集群的物理隔离的方法及装置
CN106302640A (zh) 数据请求处理方法及装置
JP2017037492A (ja) 分散処理プログラム、分散処理方法および分散処理装置
US10237148B2 (en) Providing a data set for tracking and diagnosing datacenter issues
CN107590003B (zh) 一种Spark任务分配方法和系统
WO2024088078A1 (zh) 一种带宽调节方法、系统、设备及存储介质

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