hadoop_API介绍

hadoop_API介绍

ID:40632547

大小:160.96 KB

页数:7页

时间:2019-08-05

hadoop_API介绍_第1页
hadoop_API介绍_第2页
hadoop_API介绍_第3页
hadoop_API介绍_第4页
hadoop_API介绍_第5页
资源描述:

《hadoop_API介绍》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、HadoopAPI使用介绍2009-11-1700:57HadoopAPI被分成(divideinto)如下几种主要的包(package)org.apache.hadoop.conf定义了系统参数的配置文件处理API。org.apache.hadoop.fs定义了抽象的文件系统API。org.apache.hadoop.dfsHadoop分布式文件系统(HDFS)模块的实现。org.apache.hadoop.io定义了通用的I/OAPI,用于针对网络,数据库,文件等数据对象做读写操作;org.apache.hadoop.ipc用于网络服务端和客户端的工具,封装

2、了网络异步I/O的基础模块。org.apache.hadoop.mapredHadoop分布式计算系统(MapReduce)模块的实现,包括任务的分发调度等。org.apache.hadoop.metrics定义了用于性能统计信息的API,主要用于mapred和dfs模块。org.apache.hadoop.record定义了针对记录的I/OAPI类以及一个记录描述语言翻译器,用于简化将记录序列化成语言中性的格式(language-neutralmanner)。org.apache.hadoop.tools定义了一些通用的工具。org.apache.hadoop

3、.util定义了一些公用的API。MapReduce框架结构Map/Reduce是一个用于大规模数据处理的分布式计算模型,它最初是由Google工程师设计并实现的,Google已经将它完整的MapReduce论文公开发布了。其中对它的定义是,Map/Reduce是一个编程模型(programmingmodel),是一个用于处理和生成大规模数据集(processingandgeneratinglargedatasets)的相关的实现。用户定义一个map函数来处理一个key/value对以生成一批中间的key/value对,再定义一个reduce函数将所有这些中间的

4、有着相同key的values合并起来。很多现实世界中的任务都可用这个模型来表达。Hadoop的Map/Reduce框架也是基于这个原理实现的,下面简要介绍一下Map/Reduce框架主要组成及相互的关系。2.1总体结构2.1.1Mapper和Reducer运行于Hadoop的MapReduce应用程序最基本的组成部分包括一个Mapper和一个Reducer类,以及一个创建JobConf的执行程序,在一些应用中还可以包括一个Combiner类,它实际也是Reducer的实现。2.1.2JobTracker和TaskTracker它们都是由一个master服务Job

5、Tracker和多个运行于多个节点的slaver服务TaskTracker两个类提供的服务调度的。master负责调度job的每一个子任务task运行于slave上,并监控它们,如果发现有失败的task就重新运行它,slave则负责直接执行每一个task。TaskTracker都需要运行在HDFS的DataNode上,而JobTracker则不需要,一般情况应该把JobTracker部署在单独的机器上。2.1.3JobClient每一个job都会在用户端通过JobClient类将应用程序以及配置参数Configuration打包成jar文件存储在HDFS,并把路

6、径提交到JobTracker的master服务,然后由master创建每一个Task(即MapTask和ReduceTask)将它们分发到各个TaskTracker服务中去执行。2.1.4JobInProgressJobClient提交job后,JobTracker会创建一个JobInProgress来跟踪和调度这个job,并把它添加到job队列里。JobInProgress会根据提交的jobjar中定义的输入数据集(已分解成FileSplit)创建对应的一批TaskInProgress用于监控和调度MapTask,同时在创建指定数目的TaskInProgres

7、s用于监控和调度ReduceTask,缺省为1个ReduceTask。2.1.5TaskInProgressJobTracker启动任务时通过每一个TaskInProgress来launchTask,这时会把Task对象(即MapTask和ReduceTask)序列化写入相应的TaskTracker服务中,TaskTracker收到后会创建对应的TaskInProgress(此TaskInProgress实现非JobTracker中使用的TaskInProgress,作用类似)用于监控和调度该Task。启动具体的Task进程是通过TaskInProgress管理

8、的TaskRunner对

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。