[发明专利]一种基于MapReduce的分布式计算方法和装置有效
申请号: | 201210181255.3 | 申请日: | 2012-06-05 |
公开(公告)号: | CN103455374B | 公开(公告)日: | 2016-10-19 |
发明(设计)人: | 王勇;廖新涛;徐冬 | 申请(专利权)人: | 阿里巴巴集团控股有限公司 |
主分类号: | G06F9/50 | 分类号: | G06F9/50 |
代理公司: | 上海浦一知识产权代理有限公司 31211 | 代理人: | 殷晓雪 |
地址: | 开曼群岛大开曼*** | 国省代码: | 开曼群岛;KY |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 mapreduce 分布式 计算方法 装置 | ||
技术领域
本申请涉及一种分布式计算方法。
背景技术
Hadoop项目是Apache软件基金会开发的一个软件框架(software framework),用来支持分布式应用程序(distributed applications)在众多具有计算能力且相互独立的计算机上处理大量数据,其处理的数据量可达PB即1015字节级别。
请参阅图1,Hadoop软件框架至少包括:
位于最底层的一个分布式文件系统10,常见的是HDFS(Hadoop Distributed File System,Hadoop分布式文件系统)。
HDFS是一个采用主-从架构的分布式文件系统,由一个主节点Namenode(命名节点)和多个从节点Datanode(数据节点)组成。HDFS将一个文件分成一个或多个数据块(block),这些数据块存储在一组Datanode上。Namenode负责管理该分布式文件系统的名字空间(namespace),如打开、关闭、重命名、删除文件或目录。它也负责确定数据块到具体Datanode的映射。Datanode在Namenode的统一调度下进行数据块的创建、删除和复制。一个典型的HDFS集群是一台计算机上只运行一个Namenode作为主机,其它计算机分别运行一个Datanode作为从机。
Hadoop项目也兼容其他分布式文件系统,例如Amazon S3(Amazon Simple Storage Service)、CloudStore等。
在该分布式文件系统之上的一个分布式计算软件框架20,常见的是MapReduce软件框架。
MapReduce用来支持在计算机集群上对大型数据集的分布式计算。其也采用主-从架构,由一个主节点JobTracker(作业跟踪器)和多个从节点TaskTracker(任务跟踪器)组成。MapReduce将一个作业(job)分成一个或多个任务(task),由一组TaskTracker并行处理。JobTracker负责调度构成一个作业的所有任务,将这些任务分配给可用的TaskTracker。它还监控任务的执行,重新执行已经失败的任务。TaskTracker仅负责执行由JobTracker指派的任务。通常,MapReduce软件框架和分布式文件系统是运行在一组相同的节点上的,即计算节点和存储节点通常在一起。
位于最上方的客户应用程序(Client Applications)40,即应用该分布式计算软件框架20进行分布式计算、并存储于该分布式文件系统10的应用程序。
请参阅图2,Hadoop软件框架通常还包括位于分布式计算软件框架20和客户应用程序40之间的MapReduce编译工具30,常见的有数据仓库工具Hive、编程工具Pig等。
Hive是一个数据仓库系统(data warehouse system),提供数据汇总、查询和分析。Hive支持对存储于Hadoop兼容型分布式文件系统的大型数据库的分析,同时完全兼容MapReduce框架。它提供类似于SQL(Structured Query Language,结构化查询语言)的语言称为HiveQL。
Pig是一个编程平台,提供大型数据集的分析。该平台的语言称为Pig Latin,用来创建在MapReduce软件框架上运行的程序。
图1所示的Hadoop软件框架中,客户应用程序40必须基于MapReduce软件框架20直接开发,MapReduce级的编程利用Java APIs,这对程序员提出了较高要求,所编写的客户应用程序40也存在代码冗长等缺点。
图2所示的Hadoop软件框架中,客户应用程序40是基于MapRedece编译工具30开发的,可以采用HiveQL、Pig Latin等高等语言,这使得编程工作更为简单,所编写的客户应用程序40也可大幅削减代码量。因而,图2所示的Hadoop软件框架在实际应用中更为常见。
请参阅图3,现有的基于MapReduce的分布式计算方法包括如下步骤:
步骤S31,客户应用程序向MapReduce编译工具发出指令;
步骤S32,MapReduce编译工具将该指令编译为一个或多个作业,再提交给MapReduce软件框架;
步骤S33,MapReduce软件框架处理所述作业,然后向MapReduce编译工具输出每个作业结果;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于阿里巴巴集团控股有限公司,未经阿里巴巴集团控股有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210181255.3/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种山药人参猪肉脯及制备方法
- 下一篇:一种滋补黑米茶的制备方法