最近学习hadoop 0.20.1,网上找到一篇文章《What’s New in Hadoop Core 0.20 》,非完整的给翻译了一下,为以后检索方便,发上来保存一份。如果能读懂英文的,千万不要看下面的中文。
Hadoop Core 0.20.0在2009年4月22日发布。这一发布相对0.19发布,有很多用户使用层面上的改变。
Core
Hadoop中两个主要的组件是分布式文件系统(HDFS)和MapReduce,那两个组件分别挪入各自的子项目中,因此他们能拥有自己的发布周期,并且更容易对开发进行管理。但是在0.20发布中,这两个组件还是在一起发布。在这次发布中,hadoop-size.xml被拆分成三个配置文件:core-site.xml、hdfs-site.xml和mapred-site.xml(HADOOP-4631 )。你也可以继续使用单一的hadoop-site.xml,hadoop仅仅会提出一个警告而已。默认配置文件已经移出conf文件夹,转而放到.jar文件中,其内容可以看docs文件夹中的html文件。不赞成start-all.sh、stop-all.sh的使用,建议使用start-dfs.sh、start-mapred.sh、stop-dfs.sh、stop-mapred.sh来代替。
上面说的是一些主要的变化,而允许slaves文件中加注注释(HADOOP-4454 )对实际操作更为有用。
Hadoop配置文件支持Xinclude元素,用于引入其他的配置文件(HADOOP-4944(url:https://issues.apache.org/jira/browse/HADOOP-4944))。这一机制能让配置文件更加模块化、更易于重用。
围绕安全问题,hadoop作出了一系列动作。其中0.20.0增加了service-level authorization (HADOOP-4348 )。开发人员能够限制客户端与hadoop daemons的通信。
LZO compression libraries 因为许可的原因移出了hadoop core,如果你的代码使用GPL许可证,你还是能从hadoop-gpl-compression项目中得到LZO。
HDFS
HSFS append 从0.19.1开始默认disable。
hadoop增加了一个新的管理命令:hadoop dfsadmin -saveNamespace 。在安全模式下,这个命令能让namenode转存namespace到磁盘。
MapReduce
在这一发布中,最大的变化是加入了一个叫“Context Objects”的新Java API。把Mapper和Reduce通过引入Context Object变成抽象类(不是接口),是为了让API将来更易于演进。
1.JobConf不再存在,Job配置信息由Configuration持有;
2.现在在map()或reduce()方法中,更容易得到job配置信息。仅需要调用context.getConfiguration()。
3.新的API支持pull形式的迭代。在此之前,如果你想在mapper中遍历一下记录,你不得不把他们保存到Mapper类的实例变量中。在新的API中,只需要调用nextKeyValue()即可。
4.你还能覆盖run()方法,来控制mapper如何运行。
5.新API中不再有IdentityMapper和IdentityReducer两个类,因为默认Mapper和Reducer执行了标识函数。
新的API并非向后兼容,所以你必须重写你的应用。注意,新的API在org.apache.hadoop.mapreduce包及其子包中,而旧的API在org.apache.hadoop.mapred。
Multiple task assignment ,这一优化让JobTracker在一次心跳周期内能分配给tasktracker多个任务,提高了利用率。同时引入mapred.reduce.slowstart.completed.maps新的配置参数(默认0.05)。
Input formats 增加了一些有意思的改进。FileInputFormat在选择那个主机有更多的需要分割的文件上做的更好。在另一方面0.20引入了CombineFileInputFormat类,他能把许多小文件变成一个split。
Gridmix2是第二代MapReduce工作量基准模型套件。
Contrib
两个新捐献的模块在0.20分支中出现:
HDFS Proxy ,他能暴露HDFS一个只读的HSFTP接口,用于提供安全的、只读的访问。
Vaidya ,这是一个工具,用于在MapReduce job运行后通过检查作业历史和配置信息来诊断错误。针对常见的问题能提供一些改进意见,使得你的代码能避免出错。
分享到:
相关推荐
本文将详细介绍如何在三台虚拟机上安装配置Hadoop-0.20.205.0和HBase-0.90.5,包括单机模式和集群模式的安装配置流程。 #### 二、环境准备 首先,我们需要准备三台虚拟机,并安装CentOS-5.7操作系统。这三台虚拟机...
hadoop初学者的福音,包含已经安装好hadoop0.20的CentOS7,在vmware下可以直接导入,运行成功;已经配置好的hadoop0.20;windows下用eclipse开发用的插件及对应的eclipse版本;hadoop的入门程序WordCount.java;还有...
Hadoop 0.20 API 0.20版本新增加了mapreduce包,性能得到很大提高。
hadoop 0.20.203.0 api.chm ,自己手工制作的文档
Hadoop 0.20.205.0 API 官方CHM版,根据Apache官方文档生成的chm版的文档,绝对原汁原味!
Hadoop学习笔记,自己总结的一些Hadoop学习笔记,比较简单。
Hadoop 学习笔记.md
加入依赖的 class文件的hadoop eclipse插件,不会再出现异常,大家也可以DIY,网上有简单的教程,只收一个劳务分吧
**Hadoop学习笔记详解** Hadoop是一个开源的分布式计算框架,由Apache基金会开发,主要用于处理和存储海量数据。它的核心组件包括HDFS(Hadoop Distributed File System)和MapReduce,两者构成了大数据处理的基础...
《Hadoop学习笔记详解》 Hadoop,作为大数据处理领域中的核心框架,是Apache软件基金会下的一个开源项目,主要用于分布式存储和并行计算。本文将根据提供的Hadoop学习笔记,深入解析Hadoop的关键概念和实战技巧,...
Hadoop的源码项目结构主要包括hadoop-common-project、hadoop-hdfs-project、hadoop-mapreduce-project、hadoop-yarn-project等,每个项目下又有多个子项目,包含了Hadoop运行所需的各个组件和客户端等。 在实际...
hadoop学习笔记,分天学习,原创,亲测,放心使用,没问题。
云计算,hadoop,学习笔记, dd
Hadoop是一个开源框架,用于存储和处理大型数据集。由Apache软件基金会开发,Hadoop已经成为大数据处理事实上的标准。它特别适合于存储非结构化和半结构化数据,并且能够存储和运行在廉价硬件之上。Hadoop具有高可靠...
Hadoop架构分析之集群结构分析,Hadoop架构分析之HDFS架构分析,Hadoop架构分析之NN和DN原生文档解读,Hadoop MapReduce原理之流程图.Hadoop MapReduce原理之核心类Job和ResourceManager解读.Hadoop MapReduce原理之...
【HADOOP学习笔记】 Hadoop是Apache基金会开发的一个开源分布式计算框架,是云计算领域的重要组成部分,尤其在大数据处理方面有着广泛的应用。本学习笔记将深入探讨Hadoop的核心组件、架构以及如何搭建云计算平台。...