CN105302536A - MapReduce应用的相关参数的配置方法和装置 - Google Patents
MapReduce应用的相关参数的配置方法和装置 Download PDFInfo
- Publication number
- CN105302536A CN105302536A CN201410373376.7A CN201410373376A CN105302536A CN 105302536 A CN105302536 A CN 105302536A CN 201410373376 A CN201410373376 A CN 201410373376A CN 105302536 A CN105302536 A CN 105302536A
- Authority
- CN
- China
- Prior art keywords
- mapreduce operation
- mapreduce
- history
- tasks
- feature attribute
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/182—Distributed file systems
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及分布式文件***,其提供了一种MapReduce应用的相关参数的配置方法和装置,该方法包括:接收第一MapReduce作业的处理请求;获取历史MapReduce作业的作业特征属性;从所述历史MapReduce作业的作业特征属性中查找到与所述第一MapReduce作业相关的第二MapReduce作业的作业特征属性;以及根据所述第二MapReduce作业的作业特征属性配置所述第一MapReduce作业的相关参数。按照该参数配置方法,能够有效地降低文件传输的网络开销、尽可能实现本地化处理的MapReduce作业的参数配置方法,减少管理员配置负担的同时,有效地增加***资源利用率。
Description
技术领域
本发明涉及分布式文件***,更具体地,涉及基于分布式文件***的MapReduce应用的相关参数的配置方法和装置。
背景技术
分布式文件***(DistributedFileSystem)是指文件***管理的物理存储资源不一定直接连接在本地节点上,而是通过计算机网络与节点相连。分布式文件***的设计基于客户机/服务器模式。一个典型的网络可能包括多个供多用户访问的服务器。MapReduce是Google公司提出的一种用于大规模并行编程的软件架构。由于MapReduce架构可以实现大规模数据集(大于1TB)的并行运算,并通过把对数据集的大规模操作分发给网络上的多个节点进行并行运算来实现伸缩性,因此被分布式文件***广泛应用。概念“Map(映射)”和“Reduce(化简)”及其主要思想,都是从函数式编程语言借来的。当前的MapReduce中间件实现要求应用开发者指定一个Map(映射)函数,用来把一组键值对映射成一些新的键值对(key-valuepair),称作中间键值对;此外还要求应用开发者指定一个Reduce(化简)函数,用来对Map函数输出的中间键值对进行进一步处理。
分布式文件***需要将划分的文件块存储在多个计算节点上,并且需要将每个文件块复制为多个副本保存在不同的计算节点上,由此,对多个计算节点的文件块进行读写操作时就不可避免地产生了文件传输的网络开销以及尽量对本地节点的数据块进行读写操作的本地化需求。对于现有的分布式文件***,MapReduce作业的相关参数都是由***管理员按经验配置,但是随着作业、数据和集群特点的变化,一套通用的手动配置不能让***资源利用率达到最优。
因此,需要一种有效地降低文件传输的网络开销、尽可能实现本地化处理的MapReduce作业的相关参数的配置,减少管理员配置负担的同时,有效地增加***资源利用率。
发明内容
根据本发明的一个方面,提供了一种基于分布式文件***的MapReduce应用的相关参数的配置方法,包括:接收第一MapReduce作业的处理请求;获取历史MapReduce作业的作业特征属性;从所述历史MapReduce作业的作业特征属性中查找到与所述第一MapReduce作业相关的第二MapReduce作业的作业特征属性;根据所述第二MapReduce作业的作业特征属性配置所述第一MapReduce作业的相关参数。
根据本发明的另一个方面,提供了一种基于分布式文件***的MapReduce应用的相关参数的配置装置,包括:接收模块,被配置为接收第一MapReduce作业的处理请求;第一获取模块,被配置为获取历史MapReduce作业的作业特征属性;第一查找模块,被配置为从所述历史MapReduce作业的作业特征属性中查找到与所述第一MapReduce作业相关的第二MapReduce作业的作业特征属性;第一配置模块,被配置为根据所述第二MapReduce作业的作业特征属性配置所述第一MapReduce作业的相关参数。
根据本发明实施例的MapReduce应用的相关参数的配置方法和装置,能够有效地降低文件传输的网络开销、尽可能实现本地化处理,减少管理员配置负担的同时,有效地增加***资源利用率。
附图说明
通过结合附图对本公开示例性实施方式进行更详细的描述,本公开的上述以及其它目的、特征和优势将变得更加明显,其中,在本公开示例性实施方式中,相同的参考标号通常代表相同部件。
图1示出了适于用来实现本发明实施方式的示例性计算机***/服务器12的框图。
图2示出根据本发明实施例的基于分布式文件***的MapReduce应用的配置参数的配置方法。
图3示出根据本发明的实施例的基于分布式文件***的MapReduce应用的相关参数的配置装置300。
具体实施方式
下面将参照附图更详细地描述本公开的优选实施方式。虽然附图中显示了本公开的优选实施方式,然而应该理解,可以以各种形式实现本公开而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。
图1示出了适于用来实现本发明实施方式的示例性计算机***/服务器12的框图。图1显示的计算机***/服务器12仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图1所示,计算机***/服务器12以通用计算设备的形式表现。计算机***/服务器12的组件可以包括但不限于:一个或者多个处理器或者处理单元16,***存储器28,连接不同***组件(包括***存储器28和处理单元16)的总线18。
总线18表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,***总线,图形加速端口,处理器或使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(ISA)总线,微通道体系结构(MAC)总线,增强型ISA总线、视频电子标准协会(VESA)局域总线以及***组件互连(PCI)总线。
计算机***/服务器12典型地包括多种计算机***可读介质。这些介质可以是任何能够被计算机***/服务器12访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
***存储器28可以包括易失性存储器形式的计算机***可读介质,例如随机存取存储器(RAM)30和/或高速缓存存储器32。计算机***/服务器12可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机***存储介质。仅作为举例,存储***34可以用于读写不可移动的、非易失性磁介质(图1未显示,通常称为“硬盘驱动器”)。尽管图1中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如CD-ROM,DVD-ROM或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线18相连。存储器28可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明各实施例的功能。
具有一组(至少一个)程序模块42的程序/实用工具40,可以存储在例如存储器28中,这样的程序模块42包括——但不限于——操作***、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块42通常执行本发明所描述的实施例中的功能和/或方法。
计算机***/服务器12也可以与一个或多个外部设备14(例如键盘、指向设备、显示器24等)通信,还可与一个或者多个使得用户能与该计算机***/服务器12交互的设备通信,和/或与使得该计算机***/服务器12能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口22进行。并且,计算机***/服务器12还可以通过网络适配器20与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器20通过总线18与计算机***/服务器12的其它模块通信。应当明白,尽管图中未示出,可以结合计算机***/服务器12使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID***、磁带驱动器以及数据备份存储***等。
现在参看图2,图2示出根据本发明实施例的基于分布式文件***的MapReduce应用的相关参数的配置方法,包括:在步骤S201,接收第一MapReduce作业的输入文件;在步骤S202,获取历史MapReduce作业的作业特征属性;在步骤S203,查找到与所述第一MapReduce作业相关的第二MapReduce作业的作业特征属性;在步骤S204,根据所述第二MapReduce作业的作业特征属性配置所述第一MapReduce作业的相关参数。
在步骤S202,获取历史MapReduce作业的作业特征属性,其中所述历史MapReduce作业的任务特征属性是从所述历史MapReduce任务的日志文件中提取的,具体地,从历史MapReduce作业的日志文件中提取的任务特征属性包括历史MapReduce作业的作业名称和以下中的至少一个:输入文件的路径、输入文件的大小、输出文件的路径、输出文件的大小、Map任务数和Reduce任务数,可以将提取的任务特征属性按照预定义的数据结构进行存储。根据本发明的实施例,历史MapReduce作业的作业特征属性是从先前调优过的各种MapReduce作业的参数集提取的。本领域技术人员理解,步骤S202和步骤S201既可以同时执行,也可以先后执行,在实现上没有先后顺序的限制。
在步骤S203,从所述历史MapReduce作业的作业特征属性中查找到与所述第一MapReduce作业相关的第二MapReduce作业的作业特征属性。
根据本发明的实施例,如果所述第一MapReduce作业是数据生成类型的MapReduce作业,则从所述历史MapReduce作业的作业特征属性中查找到与所述第一MapReduce作业相关的第二MapReduce作业进一步包括:从所述历史MapReduce作业的作业特征属性中查找到与所述第一MapReduce作业相似的第三MapReduce作业;从历史MapReduce作业的作业特征属性中查找到以所述第三MapReduce作业的输出文件作为输入文件的第二MapReduce作业。在此数据生成类型的MapReduce作业是指该MapReduce作业经过MapReduce处理后的输出数据将作为其它MapReduce作业的输入数据,例如TeraGen作业。
根据本发明的实施例,其中从所述历史MapReduce作业的作业特征属性中查找到与所述第一MapReduce作业相似的第三MapReduce作业包括:以所述第一MapReduce作业的作业名称作为关键字在所述历史MapReduce作业的作业特征属性中进行查找;响应于查找到一个与所述第一MapReduce作业具有相同作业名称的历史MapReduce作业,则确定该历史MapReduce作业为所述第三MapReduce作业;响应于查找到多个具有相同作业名的历史MapReduce作业,则根据以下的至少之一确定与第一MapReduce作业相似的第三MapReduce作业:输出文件的路径、输出文件的大小和计算节点数。例如可以分别对输出文件的路径、输出文件的大小和计算节点数赋予权重,从而确定与第一MapReduce作业相似的第三MapReduce作业。
根据本发明的又一实施例,如果所述第一MapReduce作业是数据消费类型的MapReduce作业,则从所述历史MapReduce作业的作业特征属性中查找到与所述第一MapReduce作业相关的第二MapReduce作业进一步包括:从所述历史MapReduce作业的作业特征属性中查找到与所述第一MapReduce作业相似的第二MapReduce作业。在此数据消费类型的MapReduce作业是指该MapReduce作业读取其它MapReduce作业生成的数据,并且该MapReduce作业生成的数据不会被其它MapReduce作业处理,例如TeraSort作业。
其中从所述历史MapReduce作业的作业特征属性中查找到与所述第一MapReduce作业相似的第二MapReduce作业进一步包括:以所述第一MapReduce作业的作业名称作为关键字在所述历史MapReduce作业的作业特征属性中进行查找;响应于查找到一个与所述第一MapReduce作业具有相同作业名称的历史MapReduce作业,则确定该历史MapReduce作业为所述第二MapReduce作业;响应于查找到多个具有相同作业名的历史MapReduce作业,则根据以下的至少之一确定与第一MapReduce作业相似的第二MapReduce作业:输入文件的路径、输出文件的大小和计算节点数。例如可以分别对输入文件的路径、输出文件的大小和计算节点数赋予权重,从而确定与第一MapReduce作业相似的第二MapReduce作业。
在步骤S204,根据所述第二MapReduce作业的作业特征属性配置所述第一MapReduce作业的相关参数。根据本发明的实施例,第一MapReduce作业的相关参数包括:第一MapReduce作业的输入文件的数据块大小(Blocksize),第一MapReduce作业的Map任务数和Reduce任务数中的至少一个。
根据本发明的实施例,如果所述第一MapReduce作业是数据生成类型,则根据所述第二MapReduce作业的输入文件的分片大小划分所述第一MapReduce作业的输入文件的数据块大小。根据本发明的实施例,将所述第一MapReduce作业的输入文件的数据块大小配置为所述第二MapReduce作业的输入数据分片大小的整数倍。例如,MapReduce作业A的输入数据分片为210MB,MapReduce作业A的输入文件的数据块大小应该是210MB的整数倍,即210MB、420MB、630MB等。分布式文件***将存放在该文件***上的文件划分为多个数据块文件,每个数据块文件被放置在一个计算节点上,在MapReduce作业的处理过程中,由Map任务服务器按照数据分片大小读取数据,如果数据块大小是数据分片大小的整数倍,就不会出现跨节点读取数据,减少网络开销,提高作业性能。通常用户可以指定Map任务数和输入数据分片大小二者之一,参考历史作业的输入数据分片大小来配置新的作业的输入文件的数据块大小,可以获得比***默认的输入文件的数据块大小更好的性能。
根据本发明的实施例,其中根据所述第二MapReduce作业的作业特征属性配置所述第一MapReduce作业的相关参数进一步包括:根据所述第二MapReduce作业的输入文件的分片大小确定所述第一MapReduce作业的Map任务数和Reduce任务数中的至少一个。
当前大多数MapReduce资源调度器是按照资源槽(slot)多少进行调度。例如在Hadoop中,存在两种资源槽:Map资源槽和Reduce资源槽,每个节点可以根据自己资源情况配置资源槽的个数,比如考虑CPU个数,可以将CPU个数作为资源槽数。一次配好后,启动Hadoop便不可修改。一旦某个节点上出现空闲的资源槽,资源调度器便会分配一个任务给该计算节点。资源槽类似于令牌,Map任务需要拿到一个Map资源槽才可运行,类似的,Reduce任务需要拿到一个Reduce资源槽才可运行,如果当前所有资源槽都被任务占用了,则剩下的任务需要排队。
根据本发明的实施例,其中根据第二MapReduce作业的输入文件的分片大小确定第一MapReduce作业的Map任务数或Reduce任务数进一步包括:获取处理所述第一MapReduce作业的计算节点数和对应于每个计算节点的资源槽的数目;将所述第一MapReduce作业的Map任务数或Reduce任务数配置为所有计算节点的资源槽的总数的整数倍。采用历史类似作业的参数(比如分片大小)配置Map任务数或reduce任务数可以最大程度地利用每个计算节点的资源槽的处理能力,减少任务等待和节点的资源槽闲置,获得比默认配置更好的性能。
根据本发明的实施例,如果所述第一MapReduce作业是数据生成类型,还可以根据与所述第一MapReduce作业相似的第三MapReduce作业的Map任务数确定第一MapReduce作业的Map任务数,具体地,如果满足如下两个条件:1)第三历史MapReduce作业的Map任务数是所有计算节点的资源槽的总数的整数倍;2)所述第一MapReduce作业的输入文件的数据块大小是根据第三MapReduce作业的Map任务数计算的输入数据分片大小的整数倍,则将第三MapReduce作业的Map任务数配置为第一MapReduce作业的Map任务数。如果不符合上述两个条件,那么在第三历史MapReduce作业的Map任务数的附近选取数值作为第一MapReduce作业的Map任务数,该数值满足如下两个条件:1)该数值是所有计算节点的资源槽的总数的整数倍;2)第一MapReduce作业的输入文件的数据块大小是按照该数值计算的输入数据分片大小的整数倍。更进一步,如果无法获得满足上述两个条件的数值,则优先选取满足条件1)的数值。
根据本发明的实施例,如果所述第一MapReduce作业是数据消费类型,还可以根据与所述第一MapReduce作业相似的第二MapReduce作业的Map任务数或Reduce任务数确定第一MapReduce作业的Map任务数或Reduce任务数,具体地,如果满足条件:第二MapReduce作业的Map任务数或Reduce任务数是所有计算节点的资源槽的总数的整数倍,则将第二MapReduce作业的Map任务数或Reduce任务数配置为第一MapReduce作业的Map任务数或Reduce任务数。如果第二MapReduce作业的Map任务数或Reduce任务数不是所有计算节点的资源槽的总数的整数倍,则需要考虑下述三种情况:1)如果第二MapReduce作业的Map任务数或Reduce任务数远大于所有计算节点的资源槽的总数(例如Map任务数或Reduce任务数是所有计算节点的资源槽的总数的10倍及以上),这种情况下,则将将第二MapReduce作业的Map任务数或Reduce任务数配置为第一MapReduce作业的Map任务数或Reduce任务数;2)如果第二MapReduce作业的Map任务数或Reduce任务数远小于所有计算节点的资源槽的总数(例如所有计算节点的资源槽的总数是Map任务数或Reduce任务数的10倍以下),那么将第一MapReduce作业的Map任务数或Reduce任务数配置为所有计算节点的资源槽的总数。
根据本发明的一个实施例,表1是根据从历史MapReduce作业的日志文件中提取的任务特征属性构建的历史任务特征属性列表。
表1:历史任务特征属性列表
用户提交一个数据生成类型的MapReduce作业,作业名称为TeraGen,表2示出用户提交的TeraGen作业的配置参数,***默认生成文件的数据块大小是128M。
表2:TeraGen作业的配置参数
以TeraGen作为关键字在上述表1的历史任务特征属性列表中进行查找,查找到两个TeraGen历史作业3和4,进一步根据输出文件的路径和输出文件的大小确定历史作业4是与待处理的TeraGen作业相似的历史作业,进一步查找到以历史作业4的输出文件作为输入文件的历史作业5TeraSort,根据历史作业5的输入数据的分片大小确定待处理的TeraGen作业的数据块大小。具体地,历史作业5的输入数据的分片大小是:1TB/16=64MB,因此可以将待处理的TeraGen作业的输入数据的分片大小配置为64MB,并将输入文件的数据块大小配置为64MB的整数倍,例如64MB、128MB等。
进一步确定待处理的TeraGen作业的Map任务数(由于TeraGen作业不进行Reduce处理,因此不需要配置Reduce任务数),假设集群有3个节点,根据集群的资源确定资源槽的数目是8个,计算节点1资源槽的数目是3个,计算节点2资源槽的数目是3个,计算节点3资源槽的数目是2个,依据每个节点的资源槽的数目修改各个计算节点的配置文件,因此需要将Map任务数配置为8的整数倍。根据64M的输入数据的分片大小进一步获得待处理的TeraGen作业的Map任务数为:1TB/64M=16384个,由于16384是8的整数倍,因此选取16384作为Map任务数。
根据本发明的又一实施例,用户提交一个数据消费类型的MapReduce作业,作业名称为TeraSort,表3示出用户提交的该TeraSort作业的配置参数。
表3:TeraSort作业的配置参数
以TeraSort作为关键字在上述的历史任务特征属性列表中进行查找,查找到两个TeraSort历史作业5和6,进一步根据输入文件的路径和输出文件的大小确定历史作业6是与待处理的TeraSort作业相似的历史作业。根据历史作业6的输入数据的分片大小确定待处理的TeraSort作业的Map任务的数目,具体地,作业6的输入数据的分片大小是:2TB/8192=256MB,因此将待处理的TeraSort作业的输入数据的分片大小确定为256MB。由此进一步获得待处理的TeraSort作业的Map任务的数目为:3TB/256M=12288个,由于Reduce的任务数不受输入数据的分片大小的影响,因此将Recude的任务数配置为作业6的Reducer的任务数240个。假设集群有3个节点,根据集群的资源确定资源槽的数目是6个,计算节点1资源槽的数目是3个,计算节点2资源槽的数目是2个,计算节点3资源槽的数目是1个,将每个节点的资源槽的数目写入各个计算节点的配置文件,需要将Map任务数或Reduce任务数配置为6的整数倍,Reducer的任务数240符合要求,Map任务数12288也符合要求。
前面已经参考附图描述了实现本发明的方法的各个实施例。本领域技术人员可以理解的是,上述方法可以以软件方式实现,也可以以硬件方式实现,或者通过软件与硬件相结合的方式实现。并且,本领域技术人员可以理解,通过以软件、硬件或者软硬件相结合的方式实现上述方法中的各个步骤,可以提供一种基于分布式文件***的MapReduce应用的相关参数的配置装置。即使该装置在硬件结构上与通用处理设备相同,由于其中所包含的软件的作用,使得该装置表现出区别于通用处理设备的特性,从而形成本发明的各个实施例的装置。
基于同一发明构思,根据本发明的实施例还提出一种基于分布式文件***的MapReduce应用的相关参数的配置装置,图3示出根据本发明的实施例的基于分布式文件***的MapReduce应用的相关参数的配置装置300,包括:接收模块301,被配置为接收第一MapReduce作业处理请求的输入文件;第一获取模块302,被配置为获取历史MapReduce作业的作业特征属性;第一查找模块303,被配置为从所述历史MapReduce作业的作业特征属性中查找到与所述第一MapReduce作业相关的第二MapReduce作业的作业特征属性;第一配置模块304,被配置为根据所述第二MapReduce作业的作业特征属性配置所述第一MapReduce作业的相关参数。其中所述历史MapReduce作业的作业特征属性包括历史MapReduce作业的作业名称和以下中的至少一个:输入文件的路径、输入文件的大小、输出文件的路径、输出文件的大小、Map任务数和Reduce任务数。
根据本发明的实施例,如果所述第一MapReduce作业是数据生成类型,则所述第一查找模块303进一步包括:第二查找模块,被配置为从所述历史MapReduce作业的作业特征属性中查找到与所述第一MapReduce作业相似的第三MapReduce作业;第三查找模块,被配置为从历史MapReduce作业的作业特征属性中查找到以所述第三MapReduce的输出文件作为输入文件的第二MapReduce作业。
根据本发明的实施例,其中所述第一配置模块304进一步包括:划分模块,被配置为根据所述第二MapReduce作业的输入文件的分片大小划分所述第一MapReduce作业处理请求的输入文件的数据块大小。
根据本发明的实施例,其中所述划分模块进一步被配置为:将所述第一MapReduce作业的输入文件的数据块大小配置为所述第二MapReduce作业的输入数据分片大小的整数倍。
根据本发明的实施例,如果所述第一MapReduce作业是数据消费类型,则所述第一查找模块进一步包括:第四查找模块,被配置为从所述历史MapReduce作业的作业特征属性中查找到与所述第一MapReduce作业相似的第二MapReduce作业。
根据本发明的实施例,其中所述第一配置模块还包括第一确定模块,被配置为根据所述第二MapReduce作业的输入文件的分片大小确定所述第一MapReduce作业处理请求的Map任务数或Reduce任务数。
根据本发明的实施例,其中所述第一确定模块进一步包括:第二获取模块,被配置为获取处理所述第一MapReduce作业的计算节点数和对应于每个计算节点的资源槽的数目;第二配置模块,被配置为将所述第一MapReduce作业的Map任务数或Reduce任务数配置为所有计算节点的资源槽的总数的整数倍。
根据本发明的实施例,其中所述第二查找模块包括:第五查找模块,被配置为以所述第一MapReduce作业的作业名称作为关键字在所述历史MapReduce作业的作业特征属性中进行查找;第二确定模块,被配置为响应于查找到一个与所述第一MapReduce作业具有相同作业名称的历史MapReduce作业,则确定该历史MapReduce作业为所述第三MapReduce作业;第三确定模块,响应于查找到多个具有相同作业名的历史MapReduce作业,则根据以下的至少之一确定与第一MapReduce作业相似的第三MapReduce作业:输出文件的路径、输出文件的大小和计算节点数目。
根据本发明的实施例,其中所述第四查找模块包括:第五查找模块,被配置为以所述第一MapReduce作业的作业名称作为关键字在所述历史MapReduce作业的作业特征属性中进行查找;第四确定模块,被配置为响应于查找到一个与所述第一MapReduce作业具有相同作业名称的历史MapReduce作业,则确定该历史MapReduce作业为所述第二MapReduce作业;第五确定模块,被配置为响应于查找到多个具有相同作业名的历史MapReduce作业,则根据以下的至少之一确定与第一MapReduce作业相似的所述第二MapReduce作业:输入文件的路径、输出文件的大小和计算节点数。
根据本发明的实施例,还包括第六确定模块,被配置为根据所述第三MapReduce作业的Map任务数确定所述第一MapReduce作业的Map任务数。
根据本发明的实施例,还包括第七确定模块,被配置为根据所述第二MapReduce作业的Map任务数或Reduce任务数确定所述第一MapReduce作业的Map任务数或Reduce任务数。
上述每个模块的具体实现方法参照根据本发明实施例的基于分布式文件***的MapReduce应用的相关参数的配置方法中的详细描述,在此不一一赘述。
本发明可以是***、方法和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于使处理器实现本发明的各个方面的计算机可读程序指令。
计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
用于执行本发明操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如Smalltalk、C++等,以及常规的过程式编程语言—诸如“C”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本发明的各个方面。
这里参照根据本发明实施例的方法、装置(***)和计算机程序产品的流程图和/或框图描述了本发明的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
附图中的流程图和框图显示了根据本发明的多个实施例的***、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的***来实现,或者可以用专用硬件与计算机指令的组合来实现。
以上已经描述了本发明的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。
Claims (24)
1.一种基于分布式文件***的MapReduce应用的相关参数的配置方法,包括:
接收第一MapReduce作业的处理请求;
获取历史MapReduce作业的作业特征属性;
从所述历史MapReduce作业的作业特征属性中查找到与所述第一MapReduce作业相关的第二MapReduce作业的作业特征属性;
根据所述第二MapReduce作业的作业特征属性配置所述第一MapReduce作业的相关参数。
2.根据权利要求1所述的方法,其中所述历史MapReduce作业的作业特征属性包括历史MapReduce作业的作业名称和以下中的至少一个:输入文件的路径、输入文件的大小、输出文件的路径、输出文件的大小、Map任务数和Reduce任务数。
3.根据权利要求1所述的方法,如果所述第一MapReduce作业是数据生成类型,则从所述历史MapReduce作业的作业特征属性中查找与所述第一MapReduce作业相关的第二MapReduce作业进一步包括:
从所述历史MapReduce作业的作业特征属性中查找到与所述第一MapReduce作业相似的第三MapReduce作业;
从历史MapReduce作业的作业特征属性中查找到以所述第三MapReduce的输出文件作为输入文件的第二MapReduce作业。
4.根据权利要求1所述的方法,如果所述第一MapReduce作业是数据消费类型,
则从所述历史MapReduce作业的作业特征属性中查找到与所述第一MapReduce作业相关的第二MapReduce作业进一步包括:
从所述历史MapReduce作业的作业特征属性中查找到与所述第一MapReduce作业相似的第二MapReduce作业。
5.根据权利要求3或4所述的方法,其中根据所述第二MapReduce作业的作业特征属性配置所述第一MapReduce作业的相关参数进一步包括:
根据所述第二MapReduce作业的输入文件的分片大小划分所述第一MapReduce作业的输入文件的数据块大小。
6.根据权利要求5所述的方法,其中根据所述第二MapReduce作业的输入文件的分片大小划分所述第一MapReduce作业的输入文件的数据块大小包括:将所述第一MapReduce作业的输入文件的数据块大小配置为所述第二MapReduce作业的输入数据分片大小的整数倍。
7.根据权利要求6所述的方法,其中根据所述第二MapReduce作业的作业特征属性配置所述第一MapReduce作业的相关参数进一步包括:
根据所述第二MapReduce作业的输入文件的分片大小确定所述第一MapReduce作业的Map任务数或Reduce任务数。
8.根据权利要求7所述的方法,其中根据所述第二MapReduce作业的输入文件的分片大小确定所述第一MapReduce作业的Map任务数或Reduce任务数进一步包括:
获取处理所述第一MapReduce作业的计算节点数和对应于每个计算节点的资源槽的数目;
将所述第一MapReduce作业的Map任务数或Reduce任务数配置为所有计算节点的资源槽的总数的整数倍。
9.根据权利要求3所述的方法,其中从所述历史MapReduce作业的作业特征属性中查找到与所述第一MapReduce作业相似的第三MapReduce作业包括:
以所述第一MapReduce作业的作业名称作为关键字在所述历史MapReduce作业的作业特征属性中进行查找;
响应于查找到一个与所述第一MapReduce作业具有相同作业名称的历史MapReduce作业,则确定该历史MapReduce作业为所述第三MapReduce作业;
响应于查找到多个具有相同作业名的历史MapReduce作业,则根据以下的至少之一确定与第一MapReduce作业相似的第三MapReduce作业:输出文件的路径、输出文件的大小和计算节点数目。
10.根据权利要求4所述的方法,其中从所述历史MapReduce作业的作业特征属性中查找到与所述第一MapReduce作业相似的第二MapReduce作业进一步包括:以所述第一MapReduce作业的作业名称作为关键字在所述历史MapReduce作业的作业特征属性中进行查找;
响应于查找到一个与所述第一MapReduce作业具有相同作业名称的历史MapReduce作业,则确定该历史MapReduce作业为所述第二MapReduce作业;
响应于查找到多个具有相同作业名的历史MapReduce作业,则根据以下的至少之一确定与第一MapReduce作业相似的第二MapReduce作业:输入文件的路径、输出文件的大小和计算节点数。
11.根据权利要求3所述的方法,还包括根据所述第三MapReduce作业的Map任务数确定所述第一MapReduce作业的Map任务数。
12.根据权利要求4所述的方法,还包括根据所述第二MapReduce作业的Map任务数或Reduce任务数确定所述第一MapReduce作业的Map任务数或Reduce任务数。
13.一种基于分布式文件***的MapReduce应用的相关参数的配置装置,包括:
接收模块,被配置为接收第一MapReduce作业的处理请求;
第一获取模块,被配置为获取历史MapReduce作业的作业特征属性,其中所述历史MapReduce作业的作业特征属性是从所述历史MapReduce作业的日志文件中获得的;
第一查找模块,被配置为从所述历史MapReduce作业的作业特征属性中查找到与所述第一MapReduce作业相关的第二MapReduce作业;
第一配置模块,被配置为根据所述第二MapReduce作业的作业特征属性配置所述第一MapReduce作业的相关参数。
14.根据权利要求13所述的装置,其中所述历史MapReduce作业的作业特征属性包括历史MapReduce作业的作业名称和以下中的至少一个、输入文件的路径、输入文件的大小、输出文件的路径、输出文件的大小、Map任务数和Reduce任务数。
15.根据权利要求13所述的装置,如果所述第一MapReduce作业是数据生成类
型,则所述第一查找模块进一步包括:
第二查找模块,被配置为从所述历史MapReduce作业的作业特征属性中查找到与所述第一MapReduce作业相似的第三MapReduce作业;
第三查找模块,被配置为从历史MapReduce作业的作业特征属性中查找到以所述第三MapReduce的输出文件作为输入文件的第二MapReduce作业。
16.根据权利要求13所述的装置,如果所述第一MapReduce作业是数据消费类型,则所述第一查找模块进一步包括:
第四查找模块,被配置为从所述历史MapReduce作业的作业特征属性中查找到与所述第一MapReduce作业相似的第二MapReduce作业。
17.根据权利要求15或16所述的装置,其中所述第一配置模块进一步包括:
划分模块,被配置为根据所述第二MapReduce作业的输入文件的分片大小划分所述第一MapReduce作业的输入文件的数据块大小。
18.根据权利要求17所述的装置,其中所述划分模块进一步被配置为:将所述第一MapReduce作业的输入文件的数据块大小配置为所述第二MapReduce作业的输入数据分片大小的整数倍。
19.根据权利要求18所述的装置,其中所述第一配置模块还包括第一确定模块,被配置为根据所述第二MapReduce作业的输入文件的分片大小确定所述第一MapReduce作业的Map任务数和Reduce任务数中的至少一个。
20.根据权利要求19所述的装置,其中所述第一确定模块进一步包括:
第二获取模块,被配置为获取处理所述第一MapReduce作业的计算节点数和对应于每个计算节点的资源槽的数目;
第二配置模块,被配置为将所述第一MapReduce作业的Map任务数或Reduce任务数配置为所有计算节点的资源槽的总数的整数倍。
21.根据权利要求15所述的装置,其中所述第二查找模块包括:
第五查找模块,被配置为以所述第一MapReduce作业的作业名称作为关键字在所述历史MapReduce作业的作业特征属性中进行查找;
第二确定模块,被配置为响应于查找到一个与所述第一MapReduce作业具有相同作业名称的历史MapReduce作业,则确定该历史MapReduce作业为所述第三MapReduce作业;
第三确定模块,响应于查找到多个具有相同作业名的历史MapReduce作业,则根据以下的至少之一确定与第一MapReduce作业相似的第三MapReduce作业:输出文件的路径、输出文件的大小和计算节点数目。
22.根据权利要求16所述的装置,其中所述第四查找模块包括:
第五查找模块,被配置为以所述第一MapReduce作业的作业名称作为关键字在所述历史MapReduce作业的作业特征属性中进行查找;
第四确定模块,被配置为响应于查找到一个与所述第一MapReduce作业具有相同作业名称的历史MapReduce作业,则确定该历史MapReduce作业为所述第二MapReduce作业;
第五确定模块,被配置为响应于查找到多个具有相同作业名的历史MapReduce作业,则根据以下的至少之一确定与第一MapReduce作业相似的所述第二MapReduce作业:输入文件的路径、输出文件的大小和计算节点数。
23.根据权利要求15所述的装置,还包括第六确定模块,被配置为根据所述第三MapReduce作业的Map任务数确定所述第一MapReduce作业的Map任务数。
24.根据权利要求16所述的装置,还包括第七确定模块,被配置为根据所述第二MapReduce作业的Map任务数或Reduce任务数确定所述第一MapReduce作业的Map任务数和Reduce任务数中的至少一个。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410373376.7A CN105302536A (zh) | 2014-07-31 | 2014-07-31 | MapReduce应用的相关参数的配置方法和装置 |
US14/813,467 US10831716B2 (en) | 2014-07-31 | 2015-07-30 | Method and apparatus for configuring relevant parameters of MapReduce applications |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410373376.7A CN105302536A (zh) | 2014-07-31 | 2014-07-31 | MapReduce应用的相关参数的配置方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105302536A true CN105302536A (zh) | 2016-02-03 |
Family
ID=55180217
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410373376.7A Pending CN105302536A (zh) | 2014-07-31 | 2014-07-31 | MapReduce应用的相关参数的配置方法和装置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US10831716B2 (zh) |
CN (1) | CN105302536A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106330559A (zh) * | 2016-08-29 | 2017-01-11 | 安徽奥里奥克科技股份有限公司 | 基于MapReduce的复杂网络拓扑特征参数计算方法和*** |
CN107204998A (zh) * | 2016-03-16 | 2017-09-26 | 华为技术有限公司 | 处理数据的方法和装置 |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10379897B2 (en) * | 2015-12-14 | 2019-08-13 | Successfactors, Inc. | Adaptive job scheduling utilizing packaging and threads |
US9575749B1 (en) * | 2015-12-17 | 2017-02-21 | Kersplody Corporation | Method and apparatus for execution of distributed workflow processes |
CN106502790A (zh) * | 2016-10-12 | 2017-03-15 | 山东浪潮云服务信息科技有限公司 | 一种基于数据分布的任务分配优化方法 |
CN108509556B (zh) * | 2018-03-22 | 2021-03-23 | 上海达梦数据库有限公司 | 数据迁移方法和装置、服务器、存储介质 |
CN117234711B (zh) * | 2023-09-05 | 2024-05-07 | 合芯科技(苏州)有限公司 | Flink***资源动态分配方法、***、设备及介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100257198A1 (en) * | 2009-04-02 | 2010-10-07 | Greeenplum, Inc. | Apparatus and method for integrating map-reduce into a distributed relational database |
US20120226639A1 (en) * | 2011-03-01 | 2012-09-06 | International Business Machines Corporation | Systems and Methods for Processing Machine Learning Algorithms in a MapReduce Environment |
CN103218263A (zh) * | 2013-03-12 | 2013-07-24 | 北京航空航天大学 | MapReduce参数的动态确定方法及装置 |
CN103605662A (zh) * | 2013-10-21 | 2014-02-26 | 华为技术有限公司 | 一种分布式计算框架参数优化方法、装置及*** |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7191176B2 (en) * | 2000-07-31 | 2007-03-13 | Mccall Danny A | Reciprocal data file publishing and matching system |
US8543596B1 (en) | 2009-12-17 | 2013-09-24 | Teradata Us, Inc. | Assigning blocks of a file of a distributed file system to processing units of a parallel database management system |
US8555265B2 (en) * | 2010-05-04 | 2013-10-08 | Google Inc. | Parallel processing of data |
WO2012154177A1 (en) * | 2011-05-11 | 2012-11-15 | Hewlett-Packard Development Company, L.P. | Varying a characteristic of a job profile relating to map and reduce tasks according to a data size |
US8954967B2 (en) | 2011-05-31 | 2015-02-10 | International Business Machines Corporation | Adaptive parallel data processing |
US9128763B2 (en) | 2011-08-23 | 2015-09-08 | Infosys Limited | System and method for job scheduling optimization |
US8868711B2 (en) | 2012-02-03 | 2014-10-21 | Microsoft Corporation | Dynamic load balancing in a scalable environment |
US9141430B2 (en) | 2012-04-30 | 2015-09-22 | Hewlett-Packard Development Company, L.P. | Scheduling mapreduce job sets |
US8972986B2 (en) | 2012-05-25 | 2015-03-03 | International Business Machines Corporation | Locality-aware resource allocation for cloud computing |
US9032416B2 (en) | 2012-07-30 | 2015-05-12 | Oracle International Corporation | Load balancing using progressive sampling based on load balancing quality targets |
US9442954B2 (en) * | 2012-11-12 | 2016-09-13 | Datawise Systems | Method and apparatus for achieving optimal resource allocation dynamically in a distributed computing environment |
US9766996B1 (en) * | 2013-11-26 | 2017-09-19 | EMC IP Holding Company LLC | Learning-based data processing job performance modeling and prediction |
-
2014
- 2014-07-31 CN CN201410373376.7A patent/CN105302536A/zh active Pending
-
2015
- 2015-07-30 US US14/813,467 patent/US10831716B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100257198A1 (en) * | 2009-04-02 | 2010-10-07 | Greeenplum, Inc. | Apparatus and method for integrating map-reduce into a distributed relational database |
US20120226639A1 (en) * | 2011-03-01 | 2012-09-06 | International Business Machines Corporation | Systems and Methods for Processing Machine Learning Algorithms in a MapReduce Environment |
CN103218263A (zh) * | 2013-03-12 | 2013-07-24 | 北京航空航天大学 | MapReduce参数的动态确定方法及装置 |
CN103605662A (zh) * | 2013-10-21 | 2014-02-26 | 华为技术有限公司 | 一种分布式计算框架参数优化方法、装置及*** |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107204998A (zh) * | 2016-03-16 | 2017-09-26 | 华为技术有限公司 | 处理数据的方法和装置 |
CN107204998B (zh) * | 2016-03-16 | 2020-04-28 | 华为技术有限公司 | 处理数据的方法和装置 |
CN106330559A (zh) * | 2016-08-29 | 2017-01-11 | 安徽奥里奥克科技股份有限公司 | 基于MapReduce的复杂网络拓扑特征参数计算方法和*** |
Also Published As
Publication number | Publication date |
---|---|
US10831716B2 (en) | 2020-11-10 |
US20160034482A1 (en) | 2016-02-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105302536A (zh) | MapReduce应用的相关参数的配置方法和装置 | |
CN105893139B (zh) | 在云存储环境中用于向租户提供存储服务的方法和装置 | |
US8918439B2 (en) | Data lifecycle management within a cloud computing environment | |
US10324754B2 (en) | Managing virtual machine patterns | |
US9348650B2 (en) | Determining an optimal computing environment for running an image based on performance of similar images | |
JP6542909B2 (ja) | ファイル操作方法及び装置 | |
US9569108B2 (en) | Dataset replica migration | |
JP2022511716A (ja) | 非集中的な分散型深層学習 | |
CN103970604A (zh) | 基于MapReduce架构实现图处理的方法和装置 | |
US8924561B2 (en) | Dynamically resizing a networked computing environment to process a workload | |
CN104424013A (zh) | 在计算环境中部署虚拟机的方法和设备 | |
TWI736912B (zh) | 用於通用處理器之排序及合併指令之電腦程式產品、電腦系統及電腦實施方法 | |
CN105511957A (zh) | 用于生成作业告警的方法和*** | |
JP6211631B2 (ja) | ボリューム複製を目的としたワークロードの特定およびバッファのサイズ設定 | |
CN104516730A (zh) | 一种数据处理方法和装置 | |
CN104516773A (zh) | 用于物理机的数据分配方法和数据分配装置 | |
JP2023036774A (ja) | 共有メモリのアクセス制御方法、共有メモリのアクセス制御装置、電子機器および自動運転車両 | |
US9218198B2 (en) | Method and system for specifying the layout of computer system resources | |
US11237761B2 (en) | Management of multiple physical function nonvolatile memory devices | |
CN112948279A (zh) | 管理存储***中的访问请求的方法、设备和程序产品 | |
CN114416310A (zh) | 一种多处理器负载均衡方法、计算设备及存储介质 | |
US20220156324A1 (en) | Graph refactorization method and graph refactorization apparatus | |
US8627039B2 (en) | Effective memory clustering to minimize page fault and optimize memory utilization | |
US9467336B2 (en) | Information processing system and management method thereof | |
US11687442B2 (en) | Dynamic resource provisioning for use cases |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20160203 |
|
RJ01 | Rejection of invention patent application after publication |