基于P2P构架的MapReduce任务跨数据中心调度系统及方法

文档序号:6620649阅读:281来源:国知局
基于P2P构架的MapReduce任务跨数据中心调度系统及方法
【专利摘要】本发明公开了一种基于P2P架构MapReduce任务跨数据中心的调度系统,其特征在于,各数据中心的资源管理器均包含一个P2P代理模块Proxyer,用于各数据中心之间建立P2P对等架构的联邦式任务调度机制;客户端通过Submitter提交MapReduce任务请求,并选择确定本次任务的主数据中心资源管理器,主资源管理器根据任务请求和各数据中心忙闲状态向其它数据中心的资源管理器进行任务分派。本发明所述系统及方法实现了MapReduce任务的跨数据中心调度,为跨数据中心的MapReduce任务提供统一入口,有效实现了各数据中心的数据和计算资源共享。
【专利说明】基于P2P构架的MapReduce任务跨数据中心调度系统及方 法

【技术领域】
[0001] 本申请涉及云计算技术,特别涉及一种MapReduce (用于大规模数据集并行运算 的编程模型)任务调度系统及方法。

【背景技术】
[0002] 云计算(Cloud Computing)是随着处理器技术、虚拟化技术、分布式存储技术、互 联网技术和自动化管理技术的发展而产生的,由分布式的大规模集群和服务器虚拟化软件 搭建。目前以开源社区Apache的Hadoop项目分布式文件系统(Hadoop Distributed File System,简称HDFS)和并行编程框架Hadoop MapReduce为代表的技术逐渐成为海量数据存 储与分析处理的主流技术。其中,Hadoop MapReduce是当前使用最广泛的海量数据分析技 术。
[0003] 基于Hadoop YARN平台的MapReduce系统如图1所示,主要由 ResourceManager (资源管理器)、NodeManager (节点管理器)、AppMaster (应用程序管理 器)、Container (执行数据任务的容器)和Client (客户端)组成。资源管理器管理集群 内所有应用程序的计算资源的分配。节点管理器是每一台机器框架的代理,是执行应用程 序的容器,并监控应用程序的资源使用情况(CPU、内存、硬盘、网络)同时向节点管理器汇 报。应用程序管理器负责本应用内的调度和协调,是MapReduce作业的Master,它结合从资 源管理器获得的资源和节点管理器协同工作来运行和监控任务。资源管理器和节点管理器 可以管理用户在该台机器上的进程并能对计算进行组织。Container管理着一个JVM (Java 虚拟机)进程,是执行应用程序的容器,负责执行Map (映射)或者Reduc (归约)任务。
[0004] 目前,Hadoop MapReduce被众多企业、高校、科研院所等广泛应用于数据中心的数 据分析中,但这些分析任务主要在单个数据中心中进行,数据中心之间的处理任务很难开 展。随着越来越多分散在各处的独立中小型数据中心的建立,如何实现各数据中心的数据 资源和计算资源有效共享,为数据分析应用提供统一的任务提交入口,提高数据分析效率, 越来越成为大家关注的问题。目前关于MapReduce任务跨数据中心的调度技术未见有具体 的公开报道,是当前亟待解决的问题。


【发明内容】

[0005] 本发明的目的是提供一种能实现各数据中心的数据及计算资源共享,为数据分析 应用提供统一任务提交入口,提高数据分析效率的跨数据中心MapReduce任务调度的系统 及方法。
[0006] 为达到以上目的,本发明是采取如下技术方案予以实现的:
[0007] -种基于P2P架构MapReduce任务跨数据中心的调度系统,其特征在于,
[0008] 包括一个客户端、η个数据中心,各数据中心均有一个资源管理器和多个节点管 理器,其中各数据中心的资源管理器与客户端之间采用广域网链接,各数据中心的资源管 理器之间采用广域网链接,各数据中心的资源管理器与节点管理器之间由局域网链接;各 数据中心的资源管理器均包含一个P2P代理模块Proxyer,通过该Proxyer,使各数据中心 的资源管理器组成一个P2P对等架构;各数据中心的资源管理器都能接收来自客户端的 MapReduce任务请求,成为主资源管理器,并根据任务请求和各数据中心忙闲状态向其它数 据中心的资源管理器进行任务分派;被分派任务的资源管理器就成为本次MapReduce任务 的执行资源管理器;各数据中心的资源管理器将本中心的MapReduce任务和资源信息同步 至其他数据中心的资源管理器中;所述客户端包含有一个MapReduce任务多途径提交模块 Submitter :用于与各数据中心的资源管理器交互,客户端通过该Submitter的选择确定本 次任务的数据中心主资源管理器,并提交MapReduce任务请求,同时实时从主资源管理器 获取任务执行状态。
[0009] 一种基于P2P架构MapReduce任务跨数据中心的调度方法,其特征在于,包括下述 步骤:
[0010] (1)通过各个数据中心资源管理器中的Proxyer建立基于P2P架构对等互联,使各 个数据中心资源管理器之间实时同步各数据中心状态信息,各数据中心中的节点管理器资 源被所有数据中心共享;
[0011] (2)客户端通过Submitter发起MapReduce任务请求,根据Submitter预置策略 将MapReduce任务发送至某一数据中心的资源管理器,由该主资源管理器按预置的调度策 略进行MapReduce任务调度;
[0012] (3)主资源管理器按预设调度算法进行任务分析拆解,并分派至其它各数据中心 的资源管理器,启动MapReduce任务执行;
[0013] (4)各数据中心执行资源管理器实时将任务执行信息同步至主资源管理器,主资 源管理器通过Proxyer在各数据中心间同步状态信息,并调度和监控MapReduce任务的执 行;
[0014] (5)客户端实时从主资源管理器获取任务执行状态信息,直至任务结束。
[0015] 上述方法中,所述MapReduce任务请求包括Map和Reduce的输入数据路径、输出 数据路径、Map和Reduce任务个数、任务优先级、资源权限任何一特征。
[0016] 所述客户端Submitter预置策略为随机映射选择法和预设映射表法。
[0017] 本发明通过对Hadoop YARN的ResourceManager进行扩展开发,增加 Proxyer模 块,形成具有数据中心ResourceManager的P2P对等互联架构,在P2P架构上建立一个联邦 式的ResourceManager任务调度机制,各ResourceManager间实时同步集群状态信息,各数 据中心中的NodeManager资源被所有数据中心共享。同时在任务提交客户端Client上,扩 展开发Submitter模块,其可按照预设算法选择任务提交的数据中心,通过任务提交这一 层映射关系,达到均衡负载、提高效率的目的,最终实现各数据中心的MapReduce任务的数 据和计算资源共享。本发明在保持原系统高效稳定的同时降低系统复杂度,防止单点故障 造成任务不可执行,为跨数据中心的MapReduce任务提供了保证。此外,系统实施方便、对 原系统修改小、向前兼容,可有效实现跨数据中心的MapReduce任务调度。

【专利附图】

【附图说明】
[0018] 图1为基于Hadoop YARN平台的MapReduce系统框架图。
[0019] 图2为本发明MapReduce任务跨数据中心调度系统组成图。
[0020] 图3为本发明MapReduce任务跨数据中心调度流程图。

【具体实施方式】
[0021] 为了更清楚地说明本发明的技术方案,下面结合附图和具体实施例对本发明进行 详细描述。
[0022] 如图2所示,一种基于P2P架构(Peer-to-Peer,简称P2P,又称点对点技术,是无 中心服务器、依靠用户群自身交换信息的互联网体系)MapRed UCe任务跨数据中心的调度 系统,包括一个客户端Client、编号为01到N的η个数据中心,各数据中心都有一个资源 管理器ResourceManager和多个节点管理器NodeManager,其中各数据中心的资源管理器 与客户端之间采用广域网链接,各数据中心的资源管理器之间采用广域网链接,各数据中 心的资源管理器与节点管理器之间由局域网链接;各数据中心的资源管理器中均包含一个 Proxyer (P2P代理)模块,用于各数据中心之间建立基于P2P对等架构的联邦式任务调度 机制;使各数据中心的资源管理器都能接收客户端MapReduce任务请求,成为该MapReduce 任务的主资源管理器。
[0023] 当某一数据中心的资源管理器成为主资源管理器后,将根据任务请求和各数据中 心状态信息向其它数据中心的资源管理器进行任务分派;被分派的资源管理器就成为执行 MapReduce任务的资源管理器,从而就可根据MapReduce任务信息和本数据中心状态实施 MapReduce任务的操作。
[0024] 各数据中心的资源管理器通过Proxyer模块实时将本数据中心接收MapReduce任 务和资源信息同步至其他数据中心的资源管理器中。
[0025] 各数据中心的节点管理器用于管理MapReduce任务在本节点上的具体执行,监控 MapReduce任务的资源使用情况(CPU、内存、硬盘、网络等),并按预置算法定时地将任务执 行情况和本节点资源情况发送给本数据中心的资源管理器。
[0026] 客户端包含有一个Submitter (MapReduce任务多途径提交)模块:用于与各数据 中心的资源管理器交互,Client通过Submitter模块根据该模块预设选择算法,选择本次 任务的数据中心主资源管理器并提交MapReduce任务请求,Client可实时从主资源管理器 获取任务执行状态。
[0027] 图2MapReduce任务跨数据中心的调度系统的数据中心的个数η可选1至200个;
[0028] 通过上述系统,本发明提供了跨数据中心的MapReduce任务调度方法,下面通过 图3进行描述:
[0029] S301基于P2P对等架构,建立一个联邦式任务调度机制的ResourceManager 互联结构;不同数据中心的域名标识不同,处在同一数据中心的ResourceManager和 NodeManager使用同一域名标识;各数据中心的ResourceManager间同步MapReduce任务 和资源信息;NodeManager定时向具有相同域名标识的资源管理器汇报节点状态信息;
[0030] 数据中心 ResourceManager 通过 Proxyer 实现 P2P 对等互联,各 ResourceManager 间实时同步MapReduce任务和资源信息,各数据中心中的NodeManager资源被所有数据中 心共享;
[0031] S302Client通过Submitter模块,根据MapReduce任务请求和预置策略,选择本 次MapReduce任务主数据中心并向其提交MapReduce任务请求;所述预设选择策略包括随 机映射、规则映射表、距离度量、性能优先等方法;预设策略可由本领域技术人员根据需要 灵活定制;
[0032] 所述MapReduce任务请求包括Map和Reduce的输入数据路径、输出数据路径、Map 和Reduce任务个数、输入数据在各数据中心的分布、任务优先级、资源权限等特征。
[0033] S303上述主数据中心ResourceManager按预设调度算法进行任务分析拆解,将任 务分派至其它各数据中心,各数据中心内由其ResourceManager进行调度,启动MapReduce 任务执行;
[0034] 主数据中心ResourceManager预设调度算法根据任务请求和各数据中心的数据 分布、系统性能、负载情况等信息,采用数据分布优先、性能优先等策略进行任务拆分并分 派任务至各数据中心,调度算法也可由本领域技术人员根据需要开发定制;
[0035] S304各数据中心ResourceManager实时将本中心状态和MapReduce任务执行信息 实时同步至主数据中心ResourceManager ;ResourceManager通过Proxyer在集群间同步状 态信息,并负责调度和监控本中心MapReduce任务的执行;
[0036] S305客户端Client可实时从主数据中心ResourceManager获取任务执行状态信 息,直至任务结束。
[0037] 综上所述,本发明解决了随着分散各处的独立中小型数据中心越来越多,而难以 实现各数据中心的数据资源和计算资源有效共享,以及如何为数据分析应用提供统一的 MapReduce任务提交入口等问题,实现了基于P2P对等架构的实施简便、向前兼容、接口统 一和稳定可靠的针对跨数据中心的MapReduce任务调度架构及方法。
【权利要求】
1. 一种基于P2P架构的MapReduce任务跨数据中心调度系统,其特征在于,包括一个客 户端、η个数据中心,各数据中心均有一个资源管理器和多个节点管理器,其中各数据中心 的资源管理器与客户端之间采用广域网链接,各数据中心的资源管理器之间采用广域网链 接,各数据中心的资源管理器与节点管理器之间由局域网链接;各数据中心的资源管理器 均包含一个P2P代理模块Proxyer,通过该Proxyer,使各数据中心的资源管理器组成一个 P2P对等架构;各数据中心的资源管理器都能接收来自客户端的MapReduce任务请求,成为 主资源管理器,并根据任务请求和各数据中心忙闲状态向其它数据中心的资源管理器进行 任务分派;被分派任务的资源管理器就成为本次MapReduce任务的执行资源管理器;各数 据中心的资源管理器将本中心的任务和资源信息同步至其他数据中心的资源管理器中;所 述客户端包含有一个MapReduce任务多途径提交模块Submitter :用于与各数据中心的资 源管理器交互,客户端通过该Submitter的选择确定本次任务的数据中心主资源管理器, 并提交MapReduce任务请求,同时实时从主资源管理器获取任务执行状态。
2. -种基于P2P架构的MapReduce任务跨数据中心调度方法,其特征在于,包括下述步 骤: (1) 通过各个数据中心资源管理器中的Proxyer建立基于P2P架构对等互联,使各个数 据中心资源管理器之间实时同步各数据中心状态信息,各数据中心中的节点管理器资源被 所有数据中心共享; (2) 客户端通过Submitter发起MapReduce任务请求,根据Submitter预置策略将 MapReduce任务发送至某一数据中心的资源管理器,由该主资源管理器按预置的调度策略 进行MapReduce任务调度; (3) 主资源管理器按预设调度算法进行任务分析拆解,并分派至其它各数据中心的资 源管理器,启动MapReduce任务执行; (4) 各数据中心执行资源管理器实时将任务执行信息同步至主资源管理器,主资源管 理器通过Proxyer在各数据中心间同步状态信息,并调度和监控MapReduce任务的执行; (5) 客户端实时从主资源管理器获取任务执行状态信息,直至任务结束。
3. 如权利要求2所述的基于P2P架构的MapReduce任务跨数据中心调度方法,其特征 在于,所述MapReduce任务请求包括Map和Reduce的输入数据路径、输出数据路径、Map和 Reduce任务个数、任务优先级、资源权限任何一特征或者几个特征的组合。
4. 如权利要求2所述的基于P2P架构的MapReduce任务跨数据中心调度方法,其特征 在于,所述客户端Submitter预置策略为随机映射选择法和预设映射表法。
【文档编号】G06F17/50GK104112049SQ201410344229
【公开日】2014年10月22日 申请日期:2014年7月18日 优先权日:2014年7月18日
【发明者】董博, 张汉宁, 郑庆华, 马天, 张未展 申请人:西安交通大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1