MapReduce作业处理系统、服务器及处理方法

文档序号:6637685阅读:255来源:国知局
MapReduce作业处理系统、服务器及处理方法
【专利摘要】本发明提供MapReduce作业处理系统包括:基于B/S架构的客户端、MapReduce作业管理模块、MapReduce作业调度模块和存储模块,由于通过该系统客户端的可以设置MapReduce作业信息、接收操作指令,由MapReduce作业管理模块执行MapReduce作业操作指令,MapReduce作业调度模块进行作业调度,免去了作业运行前设置客户端,且根据MapReduce作业信息可周期性调度作业,简化作业的处理流程,提高了作业的处理效率。本发明还提供了MapReduce作业处理服务器及基于上述系统的MapReduce作业提交、查询、激活、挂起、恢复、调度的方法。
【专利说明】MapReduce作业处理系统、服务器及处理方法

【技术领域】
[0001]本发明涉及分布式计算【技术领域】,特别涉及MapReduce作业处理系统、服务器及处理方法。

【背景技术】
[0002]Hadoop MapReduce是一种分布式计算框架,诞生于搜索领域,主要解决搜索引擎面临的海量数据处理扩展性差的问题。它的实现很大程度上借鉴了 Google的MapReduce的设计思想。MapReduce主要由两部分组成:编程模型和运行时环境。其中编程模型为用户提供了非常易用的编程接口,用户只需要像编写串行程序一样实现几个简单的函数即可实现一个分布式程序,而其他比较复杂的工作,如节点间的通信、节点失效、数据切分等,全部由MapReduce运行时环境完成。由于MapReduce提供了一个因高度抽象而变得异常简单的编程模型,MapReduce应用很广泛。
[0003]现有的MapReduce作业运行前,需要部署一个MapReduce客户端,且MapReduce作业在处理操作上需要人工手动周期性地重复操作,效率低。


【发明内容】

[0004]本发明针对上述问题,提出了 MapReduce作业处理系统、服务器及处理方法,用以克服现有的MapReduce作业运行前,需要部署一个MapReduce客户端,且MapReduce作业在处理操作上需要人工手动周期性地重复操作,效率低的问题。
[0005]本发明提供了一种MapReduce作业处理系统,包括:
[0006]基于浏览器/服务器架构的客户端,用于通过浏览器界面设置MapReduce作业信息、接收并发送MapReduce作业的操作指令;
[0007]MapReduce作业管理模块,用于执行接收到的所述MapReduce作业的操作指令;
[0008]MapReduce作业调度模块,用于根据所述MapReduce作业信息中包括的MapReduce作业运行参数调度MapReduce作业并发送所述MapReduce作业至Hadoop集群中执行;
[0009]存储模块,用于存储与MapReduce作业相关的数据,所述MapReduce作业相关的数据包括:MapReduce作业信息。
[0010]本发明提供了一种MapReduce作业处理服务器,包括:
[0011]MapReduce作业管理模块,用于执行接收到的MapReduce作业的操作指令,所述MapReduce作业的操作指令包括MapReduce作业的提交指令、修改指令、删除指令、挂起指令、恢复指令、查询指令中的一种或多种;
[0012]MapReduce作业调度模块,用于MapReduce作业信息中包括的MapReduce作业运行参数调度MapReduce作业并发送所述MapReduce作业至Hadoop集群中执行;
[0013]存储模块,用于存储与MapReduce作业相关的数据,所述MapReduce作业相关的数据包括:MapReduce作业信息、MapReduce作业的状态、MapReduce作业的执行结果中的一种或多种
[0014]本发明提供了一种基于MapReduce作业处理系统的MapReduce作业提交的方法,包括如下步骤:
[0015]通过客户端设置MapReduce作业名称;
[0016]通过客户端根据MapReduce作业文件信息选择MapReduce作业所需的文件;
[0017]通过客户端设置MapReduce作业运行参数信息;
[0018]MapReduce作业管理模块根据MapReduce作业的操作指令中的提交指令提交MapReduce 作业。
[0019]本发明提供了一种基于MapReduce作业处理系统的MapReduce作业查询的方法,包括如下步骤:
[0020]MapReduce作业管理模块根据MapReduce作业信息确定MapReduce作业查询条件;
[0021]根据MapReduce作业查询条件在已连接到的存储模块中执行MapReduce作业的查询指令;
[0022]返回执行MapReduce作业的查询指令得到的MapReduce作业。
[0023]本发明提供了一种基于MapReduce作业处理系统的MapReduce作业激活的方法,包括如下步骤:
[0024]MapReduce作业调度模块根据MapReduce作业信息中包括的MapReduce作业运行参数,定时激活相应的MapReduce作业。
[0025]本发明提供了一种基于MapReduce作业处理系统的MapReduce作业挂起的方法,包括如下步骤:
[0026]MapReduce作业管理模块根据MapReduce作业相关的数据中包括的MapReduce作业状态确定所述MapReduce作业的当前状态是否为激活;
[0027]当确定所述MapReduce作业的当前状态为激活且存在于MapReduce作业缓冲池中时,从MapReduce作业缓冲池中删除所述MapReduce作业。
[0028]本发明提供了一种基于MapReduce作业处理系统的MapReduce作业恢复的方法,包括如下步骤:
[0029]MapReduce作业管理模块根据MapReduce作业相关的数据中包括的MapReduce作业状态确定所述MapReduce作业当前状态是否为挂起;
[0030]当确定所述MapReduce作业当前状态为挂起时,将所述MapReduce作业加入到MapReduce作业缓冲池中。
[0031]本发明提供了一种基于MapReduce作业处理系统的MapReduce作业调度的方法,包括如下步骤:
[0032]MapReduce作业调度模块根据MapReduce作业信息中包括的MapReduce作业运行参数信息设置定时器;
[0033]MapReduce作业调度模块将MapReduce作业及定时器发送至MapReduce作业缓冲池;
[0034]根据MapReduce作业缓冲池中所述MapReduce作业定时器执行相应的MapReduce作业调度处理。
[0035]有益效果为:
[0036]本发明实施例提供的MapReduce作业处理系统、服务器及MapReduce作业的处理方法,其中,由于MapReduce作业处理系统中设置了基于浏览器/服务器架构的客户端用于设置MapReduce作业信息接收操作指令,还包括了执行MapReduce作业操作指令的MapReduce作业管理模块和MapReduce作业调度模块,所以,免去了在MapReduce作业运行前设置MapReduce客户端的步骤,且根据客户端设置的MapReduce作业信息可周期性调度该MapReduce作业,简化了 MapReduce作业处理,提高了 MapReduce作业的处理效率。

【专利附图】

【附图说明】
[0037]为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0038]图1为本发明实施例中提供的MapReduce作业处理系统的结构示意图;
[0039]图2为本发明实施例中提供的MapReduce作业处理服务器的结构示意图;
[0040]图3为本发明实施例中提供的基于MapReduce作业处理系统的MapReduce作业提交的方法的流程示意图;
[0041]图4为本发明实施例中提供的基于MapReduce作业处理系统的MapReduce作业提交的方法的实施例示意图;
[0042]图5为本发明实施例中提供的基于MapReduce作业处理系统的MapReduce作业查询的方法的流程示意图;
[0043]图6为本发明实施例中提供的基于MapReduce作业处理系统的MapReduce作业查询的方法的实施例示意图;
[0044]图7本发明实施例中提供的基于MapReduce作业处理系统的MapReduce作业激活的方法的流程示意图;
[0045]图8为本发明实施例中提供的基于MapReduce作业处理系统的MapReduce作业挂起的方法的流程示意图;
[0046]图9为本发明实施例中提供的基于MapReduce作业处理系统的MapReduce作业挂起的方法的实施例示意图;
[0047]图10为本发明实施例中提供的基于MapReduce作业处理系统的MapReduce作业恢复的方法的流程示意图;
[0048]图11为本发明实施例中提供的基于MapReduce作业处理系统的MapReduce作业恢复的方法的实施例示意图;
[0049]图12为本发明实施例中提供的基于MapReduce作业处理系统的MapReduce作业调度的方法的流程示意图;
[0050]图13为本发明实施例中提供的基于MapReduce作业处理系统的MapReduce作业调度的方法的实施例示意图。

【具体实施方式】
[0051]为了使本发明的技术方案及优点更加清楚明白,以下结合附图对本发明的示例性实施例进行进一步详细的说明,显然,所描述的实施例仅是本发明的一部分实施例,而不是所有实施例的穷举。
[0052]发明人在发明过程中注意到:
[0053]尽管MapReduce有良好的编程模型,很容易编写MapReduce程序,然而,运行MapReduce作业却是一个繁琐的过程,浪费了执行MapReduce作业人员很多时间去准备MapReduce的运行环境。在运行MapReduce作业前,首先需要部署一个MapReduce客户端,然后将MapReduce作业需要用的文件上传到HDFS (Hadoop Distributed File System,Hadoop分布式文件系统)中。在提交MapReduce作业时,并设置作业执行的参数等。一般MapReduce作业都是要周期性的重复提交执行的,那么每次提交作业,都要手动的去重复这些工作。
[0054]针对上述不足,本发明实施例提供了一种MapReduce作业处理系统、服务器及基于MapReduce作业处理系统的MapReduce作业提交、查询、激活、挂起、恢复、调度的方法,下面进行说明。
[0055]图1为本发明实施例中提供的MapReduce作业处理系统的结构示意图,如图1所示,该MapReduce作业处理系统可以包括:
[0056]基于B/S (Browser/Server,浏览器/服务器模式)架构的客户端101,用于通过浏览器界面设置MapReduce作业信息、接收并发送MapReduce作业的操作指令;
[0057]MapReduce作业管理模块102,用于执行接收到的所述MapReduce作业的操作指令;
[0058]MapReduce作业调度模块103,用于根据所述MapReduce作业信息中包括的MapReduce作业运行参数信息调度MapReduce作业并发送所述MapReduce作业至Hadoop集群中执行;
[0059]存储模块,用于存储与MapReduce作业相关的数据,所述MapReduce作业相关的数据包括:MapReduce作业信息。
[0060]具体实施中,采用B/S架构的客户端,提供友好的Web访问界面,客户端通过网页浏览器可以实现MapReduce作业的操作。方便大数据应用开发工程师专注于应用本身的工作,通过在客户端的网页界面中通过填写和选择参数的方式来设置MapReduce作业信息来完成MapReduce作业操作的复杂过程。
[0061]B/S结构,是万维网兴起后的一种网络结构模式,网页浏览器是客户端最主要的应用软件。这种模式统一了客户端,将系统功能实现的核心部分集中到服务器上,简化了系统的开发、维护和使用。客户机上只要安装一个浏览器,如Netscape Navigator或InternetExplorer,服务器安装Oracle、Sybase、Informix或SQL Server等数据库。浏览器通过网页服务器同数据库进行数据交互,降低了客户端的电脑载荷,减轻了系统维护与升级的成本和工作量,降低了用户的成本。
[0062]实施中,所述客户端通过浏览器界面设置MapReduce作业信息,所述MapReduce作业信息可以包括:MapReduce作业名称、MapReduce作业所需的文件信息和MapReduce作业运行参数信息。
[0063]实施中,所述MapReduce作业所需的文件信息可以包括:程序Java归档文件包、作业配置文件、依赖的第三方Java归档文件包、依赖的归档文件、依赖的普通文件中的一种或多种。
[0064]实施中,所述MapReduce作业运行参数信息可以包括:是否周期运行、运行周期和MapReduce端的参数信息中的一种或多种,其中,MapReduce端的参数信息至少包括:Reduce任务个数。
[0065]具体实施中,MapReduce作业所需的文件信息可以包括:MapReduce作业所需的文件程序jar包、MapReduce作业配置文件、MapReduce作业依赖的第三方jar包、MapReduce作业依赖的归档文件、MapReduce作业依赖的普通文件中的一种或多种,也可以根据具体需要设置MapReduce作业所需的文件的其他信息。所述MapReduce作业运行参数信息是关于MapReduce作业运行所需的参数信息,可以包括:MapReduce作业是否周期运行、若是周期运行,MapReduce作业的运行周期和MapReduce端的参数信息中的一种或多种,其中,MapReduce端的参数信息至少包括:Reduce任务个数。
[0066]实施中,所述MapReduce作业的操作指令还可以包括:MapReduce作业的修改指令、MapReduce作业的删除指令、MapReduce作业的挂起指令、MapReduce作业的恢复指令、MapReduce作业的查询指令中的一种或多种。
[0067]实施中,所述MapReduce作业调度模块可以进一步用于在根据所述MapReduce作业信息中包括的MapReduce作业运行参数调度MapReduce作业并发送所述MapReduce作业至Hadoop集群中执行之前,根据所述MapReduce作业信息组织可在Hadoop集群执行的程序,将所述程序发送至MapReduce作业缓冲池中。
[0068]本发明实施例提供的MapReduce作业处理系统,由于设置了基于浏览器/服务器架构的客户端用于设置MapReduce作业信息接收操作指令,还包括了执行MapReduce作业操作指令的MapReduce作业管理模块和MapReduce作业调度模块,所以,免去了在MapReduce作业运行前设置MapReduce客户端的步骤,且根据客户端设置的MapReduce作业信息可周期性调度该MapReduee作业,简化了 MapReduce作业操作,提高了效率。
[0069]基于上述MapReduce作业处理系统的同一发明构思,本发明实施例提供了一种MapReduce作业处理服务器。
[0070]图2为本发明实施例中提供的MapReduce作业处理服务器的结构示意图,如图2示,该MapReduce作业处理服务器,可以包括:
[0071]MapReduce作业管理模块201,用于用于执行接收到的MapReduce作业的操作指令;
[0072]MapReduce作业调度模块202,用于根据MapReduce作业信息中包括的MapReduce作业运行参数调度MapReduce作业并发送所述MapReduce作业至Hadoop集群中执行;
[0073]存储模块203,用于存储与MapReduce作业相关的数据,所述MapReduce作业相关的数据包括:MapReduce作业信息。
[0074]具体实施中,所述MapReduce作业的操作指令包括MapReduce作业的提交指令、修改指令、删除指令、挂起指令、恢复指令、查询指令中的一种或多种。存储模块中存储的与MapReduce作业相关的数据还可以包括MapReduce作业的状态或MapReduce作业运行结果。
[0075]本发明实施例提供的MapReduce作业处理服务器,包括了执行通过客户端接收的MapReduce作业操作指令的MapReduce作业管理模块和MapReduce作业调度模块,可根据客户端设置的MapReduce作业信息可周期性调度该MapReduce作业,简化了 MapReduce作业操作,提高了效率。
[0076]本发明实施例在提供了一种MapReduce作业处理系统后,还提供了基于该MapReduce作业处理系统的MapReduce作业提交的方法,用以解决MapReduce作业在提交操作上需要人工手动周期性地重复提交,效率低的问题,下面进行具体说明。
[0077]图3为本发明实施例中提供的基于MapReduce作业处理系统的MapReduce作业提交的方法的流程示意图,如图3示,基于上述MapReduce作业处理系统的MapReduce作业提交的方法,可以包括如下步骤:
[0078]步骤301:通过客户端设置MapReduce作业名称;
[0079]步骤302:通过客户端根据MapReduce作业文件信息选择MapReduce作业所需的文件;
[0080]步骤303:通过客户端设置MapReduce作业运行参数信息;
[0081 ] 步骤304:MapReduce作业管理模块根据MapReduce作业的操作指令中的提交指令提交MapReduce作业。
[0082]具体实施中,MapReduce作业的提交根据客户端设置的MapReduce作业信息生成MapReduce作业,并将生成的MapReduce作业提交至上述MapReduce作业处理系统中的MapReduce作业调度模块进行后续的MapReduce作业调度,其中,具体的MapReduce作业信息可以包括:MapReduce作业名称,也可以包括出MapReduce作业名称之外的信息。
[0083]实施中,可以进一步包括:通过客户端根据MapReduce作业信息选择MapReduce作业所需的文件后,设置MapReduce作业所需的文件信息。
[0084]实施中,为了方便MapReduce作业信息的查询、修改,可以进一步包括:将设置的MapReduce作业名称、MapReduce作业运行参数信息和MapReduce作业所需的文件信息中的一种或多种保存至存储模块中。
[0085]实施中,为了便于MapReduce作业提交后的立即运行,可以进一步包括:将已选择的MapReduce作业所需的文件上传至分布式文件系统HDFS。
[0086]为了便于理解基于MapReduce作业处理系统的MapReduce作业提交的方法,下面举例进行说明。
[0087]图4为本发明实施例中提供的基于MapReduce作业处理系统的MapReduce作业提交的方法的实施例示意图,如图4所示,所述MapReduce作业提交的方法包括如下步骤:
[0088]步骤401:开始。
[0089]步骤402:通过客户端提交作业界面设置MapReduce作业基本信息,即:设置MapReduce作业名称。
[0090]步骤403:通过提交作业界面选择MapReduce作业所需的文件,即:选择执行MapReduce作业时所需要用到的文件,根据具体每个MapReduce作业的需要选择其需要的文件。
[0091]步骤404:通过提交作业界面设置MapReduce作业运行参数信息,通过提交作业界面对所述要提交的MapReduce作业进行运行参数信息设置,可以根据该MapReduce作业的具体运行需求设置其运行周期等参数。
[0092]步骤405:将设置的MapReduce作业基本信息输入至存储模块,将MapReduce作业基本信息输入至存储模块,方便后续对该MapReduce作业的查询、激活、挂起、恢复或调度等操作。
[0093]步骤406:将选择的MapReduce作业所需的文件上传至HDFS集群,方便MapReduce作业在HDFS集群运行时,可以直接调用其需要的文件。
[0094]步骤407:结束。
[0095]本发明实施例在提供的MapReduce作业处理系统的MapReduce作业提交的方法,由于根据客户端设置的MapReduce作业信息确定MapReduce作业运行条件并提交所述MapReduce作业,简化了 MapReduce作业的提交操作。
[0096]本发明实施例在提供了一种MapReduce作业处理系统后,还提供了基于该MapReduce作业处理系统的MapReduce作业查询的方法,下面进行具体说明。
[0097]图5为本发明实施例中提供的基于MapReduce作业处理系统的MapReduce作业查询的方法的流程示意图,如图5示,基于上述MapReduce作业处理系统的MapReduce作业查询的方法,可以包括如下步骤:
[0098]步骤501:MapReduce作业管理模块根据MapReduce作业信息确定MapReduce作业查询条件;
[0099]步骤502:根据MapReduce作业查询条件在已连接到的存储模块中执行MapReduce作业的查询指令;
[0100]步骤503:返回执行MapReduce作业的查询指令得到的MapReduce作业。
[0101]具体实施中,MapReduce作业的查询方法中,MapReduce作业管理模块可以根据从容户端界面提供根据作业提交者、提交时间段、作业名称及作业状态等MapReduce作业信息执行MapReduce作业的查询指令。
[0102]实施中,可以进一步包括:MapReduce作业管理模块根据输入的MapReduce作业确定的MapReduce作业查询条件组织SQL语句;
[0103]MapReduce作业管理模块根据MapReduce作业查询条件在已连接到的存储模块中执行MapReduce作业的查询指令是在已连接到的存储模块中执行所述SQL语句。
[0104]具体实施中,采用SQL语言是由于SQL语言比较常用、主流,易于本领域技术人员使用/理解,所以这里以SQL语言为例;但是,从理论上来说,用其他的编程语言也是可以的,只要能够实现条件查询的目的即可,SQL语言仅用于教导本领域技术人员具体如何实施本发明,但并不意味仅能使用SQL语言,实施过程中可以结合实践需要来确定相应的编程语言。
[0105]实施中,为了让MapReduce作业处理系统的用户即时感知操作的状态,可以进一步包括:
[0106]MapReduce作业管理模块向存储模块发起连接请求;
[0107]当连接请求失败时,MapReduce作业管理模块返回空对象。
[0108]为了便于理解基于MapReduce作业处理系统的MapReduce作业查询的方法,下面举例进行说明。
[0109]图6为本发明实施例中提供的基于MapReduce作业处理系统的MapReduce作业查询的方法的实施例示意图,如图6所示,所述方法包括如下步骤:
[0110]步骤601:开始。
[0111]步骤602:通过客户端界面输入作业提交者、作业名称、选择作业提交时间段及作业状态;即:在客户端界面输入MapReduce作业的查询参数,具体在查询MapReduce作业时,可以针对作业提交者、作业名称、选择作业提交时间段或者作业状态,也可以选择其他可供查询的参数。
[0112]步骤603:根据查询条件组织SQL语句;根据上述查询参数组织可在查询指令执行时运行的计算机语言,例如这里可以选择SQL语言,当然,在具体实施中,本领域技术人员可以在不作出创造性劳动的情况下根据需要选择能够执行查询指令的其他计算机语言,这里仅作示例说明,不做具体限定。
[0113]步骤604:获取与存储模块的连接;因为MapReduce作业的查询是在存储模块中执行,所以要向存储模块发起链接请求,以获取与存储模块的链接。
[0114]步骤605:判断连接存储模块是否成功;若连接成功,则执行步骤606 ;若连接不成功,则执行步骤608 ;
[0115]步骤606:执行查询SQL语句;执行查询SQL语句在存储模块中进行MapReduce作业查询。
[0116]步骤607:将查询结果转化为MapReduce作业对象列表并返回;执行SQL语句后,得到MapReduce作业的查询结果,当结果为多个的时候,可以排列成MapReduce作业对象列表,也可以不进行列表处理,这里不作具体限定。
[0117]步骤608:返回空对象;若与存储模块连接不成功,则MapReduce作业的查询无法进行,可以返回空对象,提醒MapReduce作业的作业者,存储模块连接不成功。
[0118]步骤609:结束。
[0119]本发明实施例提供的基于MapReduce作业处理系统的MapReduce作业查询的方法,由于根据客户端设置的MapReduce作业信息确定MapReduce作业查询条件,执行查询指令,简化了 MapReduce作业的查询操作。
[0120]本发明实施例在提供了一种MapReduce作业处理系统后,还提供了基于该MapReduce作业处理系统的MapReduce作业激活的方法,下面进行具体说明。
[0121]图7为本发明实施例中提供的基于MapReduce作业处理系统的MapReduce作业激活的方法的流程示意图,如图7示,基于上述MapReduce作业处理系统的MapReduce作业激活的方法,可以包括如下步骤:
[0122]步骤701:MapReduce作业调度模块根据MapReduce作业信息中包括的MapReduce作业运行参数信息,定时激活相应的MapReduce作业。
[0123]具体实施中,支持MapReduce作业进行周期运行机制,根据客户端设置的MapReduce作业信息中包括的MapReduce作业运行参数信息,其中,MapReduce作业运行参数信息具体可以包括:是否周期运行、运行周期和MapReduce端的参数信息中的一种或多种,其中,MapReduce端的参数信息至少包括:Reduce任务个数。由MapReduce作业调度模块进行MapReduce作业的激活调度。
[0124]对MapReduce作业的状态做如下定义:
[0125]激活:根据客户端设置的MapReduce作业信息中的运行周期,由MapReduce作业调度模块进行调度执行;
[0126]当用户新提交了一个周期运行的MapReduce作业,默认MapReduce作业是激活状态,即从MapReduce作业提交开始,根据客户端设置的MapReduce作业信息中的运行周期,定期的执行MapReduce作业。处于激活状态的MapReduce作业可被设置为挂起状态,即禁止MapReduce作业被周期执行。
[0127]本发明实施例提供的MapReduce作业处理系统的MapReduce作业激活的方法,由于根据客户端设置的MapReduce作业信息中的运行周期,定时激活相应的MapReduce作业,简化了 MapReduce作业的激活操作。
[0128]本发明实施例在提供了一种MapReduce作业处理系统后,还提供了基于该MapReduce作业处理系统的MapReduce作业挂起的方法,下面进行具体说明。
[0129]图8为本发明实施例中提供的基于MapReduce作业处理系统的MapReduce作业挂起的方法的流程示意图,如图8示,基于上的MapReduce作业处理系统的MapReduce作业挂起的方法,可以包括如下步骤:
[0130]步骤801:根据客户端设置的MapReduce作业信息中的运行周期确定所述MapReduce作业的当前状态是否为激活;
[0131]步骤802:当确定所述MapReduce作业的当前状态为激活且存在于MapReduce作业缓冲池中时,从MapReduce作业缓冲池中删除所述MapReduce作业。
[0132]具体实施中,MapReduce作业处于挂起状态,即:MapReduce作业根据MapReduce作业信息中的运行周期处于禁用MapReduce作业工作周期,MapReduce作业调度模块不再对此MapReduce作业进行调度。
[0133]实施中,可以进一步包括:当确定所述MapReduce作业的当前状态为激活且存在于MapReduce作业缓冲池中时,从MapReduce作业缓冲池中删除所述MapReduce作业后,MapReduce作业管理模块将所述MapReduce作业状态标记为挂起。
[0134]为了便于理解基于MapReduce作业处理系统的MapReduce作业挂起的方法,下面举例进行说明。
[0135]图9为本发明实施例中提供的基于MapReduce作业处理系统的MapReduce作业挂起的方法的实施例示意图,如图9所示,所述方法包括如下步骤:
[0136]步骤901:开始。
[0137]步骤902:获取当前MapReduce作业状态;获取当前要进行挂起操作的MapReduce作业的状态,根据该MapReduce作业的状态进行相应的挂起操作,即若该MapReduce作业的状态为激活,则将其挂起,若该MapReduce作业的状态为挂起,则不做处理。。
[0138]步骤903:判断当前MapReduce作业是否为激活状态;获取该MapReduce作业的状态后,判断其状态是否为激活,若是激活状态,则执行步骤904 ;若不是激活状态,则执行步骤 907。
[0139]步骤904:查询MapReduce作业调度模块MapReduce作业缓冲池中是否有该MapReduce作业;确定该状态为激活的MapReduce作业是否在MapReduce作业缓冲池中,若在MapReduce作业缓冲池中,则执行步骤905 ;若不在MapReduce作业缓冲池中,则执行步骤 906 ;
[0140]步骤905:从MapReduce作业缓冲池中删除该MapReduce作业。
[0141]步骤906:将MapReduce作业状态修改为挂起。
[0142]步骤907:结束。
[0143]本发明实施例提供的基于MapReduce作业处理系统的MapReduce作业挂起的方法,由于根据客户端设置的MapReduce作业信息中的运行周期确定所述MapReduce作业的当前状态是否为激活,继而执行后续的挂起操作,简化了 MapReduce作业的挂起操作。
[0144]本发明实施例在提供了一种MapReduce作业处理系统后,还提供了基于该MapReduce作业处理系统的MapReduce作业恢复的方法,下面进行具体说明。
[0145]图10为本发明实施例中提供的基于MapReduce作业处理系统的MapReduce作业恢复的方法的流程示意图,如图10示,基于上述MapReduce作业处理系统的MapReduce作业恢复的方法,可以包括如下步骤:
[0146]步骤1001:MapReduce作业管理模块根据MapReduce作业相关的数据中包括的MapReduce作业状态确定所述MapReduce作业当前状态是否为挂起;
[0147]步骤1002:当确定所述MapReduce作业当前状态为挂起时,将所述MapReduce作业加入到MapReduce作业缓冲池中。
[0148]实施中,可以进一步包括-MapReduce作业管理模块将所述当前状态为挂起的MapReduce作业加入到MapReduce作业缓冲池中后,将所述MapReduce作业的状态标记为激活。
[0149]具体实施中,MapReduce作业的恢复方法是将挂起状态的MapReduce作业状态修改为激活状态,即将已被挂起的MapReduce作业加入到MapReduce作业缓冲池中,并在MapReduce作业处理系统中的存储模块中修改该MapReduce作业状态为激活状态。
[0150]为了便于理解基于MapReduce作业处理系统的MapReduce作业恢复的方法,下面举例进行说明。
[0151]图11为本发明实施例中提供的基于MapReduce作业处理系统的MapReduce作业恢复的方法的实施例示意图,如图11所示,所述方法包括如下步骤:
[0152]步骤1101:开始。
[0153]步骤1102:获取当前MapReduce作业状态;获取当前要进行恢复操作的MapReduce作业的状态,根据该MapReduce作业的状态进行相应的恢复操作,即若该MapReduce作业的状态为挂起,则将其恢复为激活状态,若该MapReduce作业的状态为激活,则不做处理。
[0154]步骤1103:判断所述MapReduce作业是否为挂起状态,若所述MapReduce作业是挂起状态,则执行步骤1104 ;若所述MapReduce作业不是挂起状态,则执行步骤1106。
[0155]步骤1104:将所述MapReduce作业加入到MapReduce作业缓冲池中,将所述MapReduce作业由挂起状态中恢复为激活,并将其加入到MapReduce作业缓冲池中,等待MapReduce作业调度模块为其调度执行资源。
[0156]步骤1105:将所述MapReduce作业状态修改为激活状态。
[0157]步骤1106:结束。
[0158]本发明实施例提供的基于MapReduce作业处理系统的MapReduce作业恢复的方法,由于根据客户端设置的MapReduce作业信息确定所述MapReduce作业当前状态是否为挂起,继而进行MapReduce作业的恢复操作,简化了 MapReduce作业的恢复操作。
[0159]本发明实施例在提供了一种MapReduce作业处理系统后,还提供了基于该MapReduce作业处理系统的MapReduce作业调度的方法,下面进行具体说明。
[0160]图12为本发明实施例中提供的基于MapReduce作业处理系统的MapReduce作业调度的方法的流程示意图,如图12示,基于上述MapReduee作业处理系统的MapReduce作业调度的方法,可以包括如下步骤:
[0161]步骤1201:MapReduce作业调度模块根据MapReduce作业信息中包括的MapReduce作业运行参数信息设置定时器;
[0162]步骤1202:MapReduce作业调度模块将MapReduce作业及定时器发送至MapReduce作业缓冲池;
[0163]步骤1203:根据MapReduce作业缓冲池中所述MapReduce作业定时器执行相应的MapReduce作业调度处理。
[0164]具体实施中,MapReduce作业调度模块根据客户端设置MapReduce作业信息,如程序jar包,MapReduce作业的参数信息等,组织成可在Hadoop集群执行的语句,放入到MapReduce作业缓冲池中,然后客户端设置的MapReduce作业信息中的运行周期,定时的将需要执行的MapReduce作业发送到Hadoop集群中去执行。
[0165]实施中,可以进一步包括:
[0166]MapReduce作业调度模块根据从存储模块获取所述MapReduce作业信息确定可在Hadoop集群中执行语句;
[0167]将确定的可在Hadoop集群中执行语句与所述MapReduce作业及定时器放入MapReduce作业缓冲池。
[0168]具体实施中,将MapReduce作业放入到Hadoop集群中执行是由于Hadoop是比较常用、主流的分布式数据处理技术,易于本领域技术人员使用/理解,所以这里以Hadoop为例;但是,从理论上来说,用其他处理方案也是可以的,只要能够实现分布式数据处理的目的即可,Hadoop仅用于教导本领域技术人员具体如何实施本发明,但并不意味仅能使用Hadoop,实施过程中可以结合实践需要来确定相应的处理技术。
[0169]实施中,根据MapReduce作业缓冲池中所述MapReduce作业定时器执行相应的MapReduce作业调度处理可以包括:
[0170]将定时器结束的MapReduce作业放入MapReduce作业执行池中,遍历执行MapReduce作业执行池中的MapReduce作业;
[0171]和/ 或,
[0172]为定时器还未结束的MapReduce作业调度执行资源执行所述MapReduce作业。
[0173]为了便于理解基于MapReduce作业处理系统的MapReduce作业调度的方法,下面举例进行说明。
[0174]图13为本发明实施例中提供的基于MapReduce作业处理系统的MapReduce作业调度的方法的实施例示意图,如图13所示,所述方法包括如下步骤:
[0175]步骤1301:从存储模块读取MapReduce作业信息,处理成可执行语句;MapReduce作业调度模块从存储模块中读取MapReduce作业信息,根据MapReduce作业信息中的运行参数等信息组织成可在HDFS集群中执行的语句。
[0176]步骤1302:根据MapReduce作业信息中的运行周期设置MapReduce作业的定时器;该定时器计量该MapReduce作业在运行周期内的运行时间长度。
[0177]步骤1303:将MapReduce作业可执行语句与定时器放入MapReduce作业缓冲池;将设置好定时器的MapReduce作业可执行语句与定时器放入MapReduce作业缓冲池,等待MapReduce作业调度模块的调度处理。
[0178]步骤1304:监听MapReduce作业缓冲池中的MapReduce定时器,当MapReduce定时器结束时,将所述MapReduce作业放入MapReduce作业执行池,并设置MapReduce定时器重新开始计时;MapReduce作业调度模块对MapReduce作业缓冲池中的MapReduce定时器进行监听,当MapReduce定时器结束时,即该MapReduce作业的本次运行周期结束,将所述MapReduce作业放入MapReduce作业执行池,并设置MapReduce定时器重新开始计时。
[0179]步骤1305:遍历MapReduce作业执行池,将MapReduce作业执行池中的MapReduce作业提交到Hadoop集群中执行;MapReduce作业调度模块根据一定的作业顺序遍历MapReduce作业执行池,将MapReduce作业执行池中的MapReduce作业提交到Hadoop集群中执行。
[0180]本发明实施例提供的基于MapReduce作业处理系统的MapReduce作业调度的方法,由于根据客户端设置的MapReduce作业的执行时间与周期确定当前MapReduce作业的状态执行相应的调度处理,可在无人工参与的情况下自动地周期运行相应的MapReduce作业,简化了 MapReduce作业操作,提高了效率。
[0181]为了描述的方便,以上装置的各部分以功能分为各种模块或单元分别描述。当然,在实施本发明时可以把各模块或单元的功能在同一个或多个软件或硬件中实现。
[0182]本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
[0183]本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0184]这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0185]这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0186]尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
[0187]显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
【权利要求】
1.一种MapReduce作业处理系统,其特征在于,包括: 基于浏览器/服务器架构的客户端,用于通过浏览器界面设置MapReduce作业信息、接收并发送MapReduce作业的操作指令; MapReduce作业管理模块,用于执行接收到的所述MapReduce作业的操作指令; MapReduce作业调度模块,用于根据所述MapReduce作业信息中包括的MapReduce作业运行参数信息调度MapReduce作业并发送所述MapReduce作业至Hadoop集群中执行; 存储模块,用于存储与MapReduce作业相关的数据,所述MapReduce作业相关的数据包括:MapReduce作业信息。
2.如权利要求1所述的MapReduce作业处理系统,其特征在于,所述客户端通过浏览器界面设置MapReduce作业信息,所述MapReduce作业信息包括:MapReduce作业名称、MapReduce作业所需的文件信息和MapReduce作业运行参数信息。
3.如权利要求2所述的MapReduce作业处理系统,其特征在于,所述MapReduce作业所需的文件信息包括:程序Java归档文件包、作业配置文件、依赖的第三方Java归档文件包、依赖的归档文件、依赖的普通文件中的一种或多种。
4.如权利要求2所述的MapReduce作业处理系统,其特征在于,所述MapReduce作业运行参数信息包括:是否周期运行、运行周期和MapReduce端的参数信息中的一种或多种,其中,MapReduce端的参数信息至少包括:Reduce任务个数。
5.如权利要求1所述的MapReduce作业处理系统,其特征在于,所述MapReduce作业的操作指令包括:MapReduce作业的提交指令、MapReduce作业的修改指令、MapReduce作业的删除指令、MapReduce作业的挂起指令、MapReduce作业的恢复指令、MapReduce作业的查询指令中的一种或多种。
6.如权利要求1所述的MapReduce作业处理系统,其特征在于,所述MapReduce作业调度模块进一步用于在根据所述MapReduce作业信息中包括的MapReduce作业运行参数调度MapReduce作业并发送所述MapReduce作业至Hadoop集群中执行之前,根据所述MapReduce作业信息组织可在Hadoop集群执行的程序,将所述程序发送至MapReduce作业缓冲池中。
7.—种MapReduce作业处理服务器,其特征在于,包括: MapReduce作业管理模块,用于执行接收到的MapReduce作业的操作指令; MapReduce作业调度模块,用于根据MapReduce作业信息中包括的MapReduce作业运行参数调度MapReduce作业并发送所述MapReduce作业至Hadoop集群中执行; 存储模块,用于存储与MapReduce作业相关的数据,所述MapReduce作业相关的数据包括:MapReduce作业信息。
8.一种基于权利要求2所述的MapReduce作业处理系统的MapReduce作业提交的方法,其特征在于,包括如下步骤: 通过客户端设置MapReduce作业名称; 通过客户端根据MapReduce作业文件信息选择MapReduce作业所需的文件; 通过客户端设置MapReduce作业运行参数信息; MapReduce作业管理模块根据MapReduce作业的操作指令中的提交指令提交MapReduce 作业。
9.如权利要求8所述的方法,其特征在于,进一步包括:通过客户端根据MapReduce作业信息选择MapReduce作业所需的文件后,设置MapReduce作业所需的文件信息。
10.如权利要求9所述的方法,其特征在于,进一步包括:将设置的MapReduce作业名称、MapReduce作业运行参数信息和MapReduce作业所需的文件信息中的一种或多种保存至存储模块中。
11.如权利要求8所述的方法,其特征在于,进一步包括:将已选择的MapReduce作业所需的文件上传至分布式文件系统HDFS。
12.一种基于权利要求2所述的MapReduce作业处理系统的MapReduce作业查询的方法,其特征在于,包括如下步骤: MapReduce作业管理模块根据MapReduce作业信息确定MapReduce作业查询条件; 根据MapReduce作业查询条件在已连接到的存储模块中执行MapReduce作业的查询指令; 返回执行MapReduce作业的查询指令得到的MapReduce作业。
13.如权利要求12所述的方法,其特征在于,进一步包括:MapReduce作业管理模块根据输入的MapReduce作业确定的MapReduce作业查询条件组织SQL语句; MapReduce作业管理模块根据MapReduce作业查询条件在已连接到的存储模块中执行MapReduce作业的查询指令是在已连接到的存储模块中执行所述SQL语句。
14.如权利要求12或13所述的方法,其特征在于,进一步包括: MapReduce作业管理模块向存储模块发起连接请求; 当连接请求失败时,MapReduce作业管理模块返回空对象。
15.一种基于权利要求1至6任一所述的MapReduce作业处理系统的MapReduce作业激活的方法,其特征在于,包括如下步骤: MapReduce作业调度模块根据MapReduce作业信息中包括的MapRLeduce作业运行参数信息,定时激活相应的MapReduce作业。
16.一种基于权利要求1至6任一所述的MapReduce作业处理系统的MapReduce作业挂起的方法,其特征在于,包括如下步骤: MapReduce作业管理模块根据MapReduce作业相关的数据中包括的MapReduce作业状态确定所述MapReduce作业的当前状态是否为激活; 当确定所述MapReduce作业的当前状态为激活且存在于MapReduce作业缓冲池中时,从MapReduce作业缓冲池中删除所述MapReduce作业。
17.如权利要求16所述的方法,其特征在于,进一步包括:当确定所述MapReduce作业的当前状态为激活且存在于MapReduce作业缓冲池中时,从MapReduce作业缓冲池中删除所述MapReduce作业后,MapReduce作业管理模块将所述MapReduce作业状态标记为挂起。
18.一种基于权利要求1至6任一所述的MapReduce作业处理系统的MapReduce作业恢复的方法,其特征在于,包括如下步骤: MapReduce作业管理模块根据MapReduce作业相关的数据中包括的MapReduce作业状态确定所述MapReduce作业当前状态是否为挂起; 当确定所述MapReduce作业当前状态为挂起时,将所述MapReduce作业加入到MapReduce作业缓冲池中。
19.如权利要求18所述的方法,其特征在于,进一步包括: MapReduce作业管理模块将所述当前状态为挂起的MapReduce作业加入到MapReduce作业缓冲池中后,将所述MapReduce作业的状态标记为激活。
20.—种基于权利要求4所述的MapReduce作业处理系统的MapReduce作业调度的方法,其特征在于,包括如下步骤: MapReduce作业调度模块根据MapReduce作业信息中包括的MapReduce作业的运行周期设置定时器; MapReduce作业调度模块将MapReduce作业及定时器发送至MapReduce作业缓冲池; 根据MapReduce作业缓冲池中所述MapReduce作业定时器执行相应的MapReduce作业调度处理。
21.如权利要求20所述的方法,其特征在于,进一步包括: MapReduce作业调度模块根据从存储模块获取所述MapReduce作业信息确定可在Hadoop集群中执行语句; 将确定的可在Hadoop集群中执行语句与所述MapReduce作业及定时器放入MapReduce作业缓冲池。
22.如权利要求20或21所述的方法,其特征在于,根据MapReduce作业缓冲池中所述MapReduce作业定时器执行相应的MapReduce作业调度处理包括: 将定时器结束的MapReduce作业放入MapReduce作业执行池中,遍历执行MapReduce作业执行池中的MapReduce作业; 和/或, 为定时器还未结束的MapReduce作业调度执行资源执行所述MapReduce作业。
【文档编号】G06F9/48GK104484226SQ201410742593
【公开日】2015年4月1日 申请日期:2014年12月8日 优先权日:2014年12月8日
【发明者】谢莹莹, 郭庆, 徐学辉, 班军成, 解元 申请人:无锡城市云计算中心有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1