`

Changes of Hadoop 0.20笔记

 
阅读更多

最近学习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,集群和单机 安装配置

    本文将详细介绍如何在三台虚拟机上安装配置Hadoop-0.20.205.0和HBase-0.90.5,包括单机模式和集群模式的安装配置流程。 #### 二、环境准备 首先,我们需要准备三台虚拟机,并安装CentOS-5.7操作系统。这三台虚拟机...

    CentOS下hadoop0.20安装完成版

    hadoop初学者的福音,包含已经安装好hadoop0.20的CentOS7,在vmware下可以直接导入,运行成功;已经配置好的hadoop0.20;windows下用eclipse开发用的插件及对应的eclipse版本;hadoop的入门程序WordCount.java;还有...

    Hadoop 0.20 API CHM

    Hadoop 0.20 API 0.20版本新增加了mapreduce包,性能得到很大提高。

    hadoop 0.20.203.0 api.chm

    hadoop 0.20.203.0 api.chm ,自己手工制作的文档

    Hadoop 0.20.205.0 API 官方CHM版

    Hadoop 0.20.205.0 API 官方CHM版,根据Apache官方文档生成的chm版的文档,绝对原汁原味!

    Hadoop学习笔记

    Hadoop学习笔记,自己总结的一些Hadoop学习笔记,比较简单。

    Hadoop 学习笔记.md

    Hadoop 学习笔记.md

    hadoop 0.20.203.0 eclipse插件 修改过的

    加入依赖的 class文件的hadoop eclipse插件,不会再出现异常,大家也可以DIY,网上有简单的教程,只收一个劳务分吧

    最新Hadoop学习笔记

    **Hadoop学习笔记详解** Hadoop是一个开源的分布式计算框架,由Apache基金会开发,主要用于处理和存储海量数据。它的核心组件包括HDFS(Hadoop Distributed File System)和MapReduce,两者构成了大数据处理的基础...

    hadoop学习笔记.rar

    《Hadoop学习笔记详解》 Hadoop,作为大数据处理领域中的核心框架,是Apache软件基金会下的一个开源项目,主要用于分布式存储和并行计算。本文将根据提供的Hadoop学习笔记,深入解析Hadoop的关键概念和实战技巧,...

    Hadoop学习笔记.pdf

    Hadoop的源码项目结构主要包括hadoop-common-project、hadoop-hdfs-project、hadoop-mapreduce-project、hadoop-yarn-project等,每个项目下又有多个子项目,包含了Hadoop运行所需的各个组件和客户端等。 在实际...

    linux+hadoop笔记(一)

    hadoop学习笔记,分天学习,原创,亲测,放心使用,没问题。

    云计算hadoop学习笔记

    云计算,hadoop,学习笔记, dd

    3.Hadoop学习笔记.pdf

    Hadoop是一个开源框架,用于存储和处理大型数据集。由Apache软件基金会开发,Hadoop已经成为大数据处理事实上的标准。它特别适合于存储非结构化和半结构化数据,并且能够存储和运行在廉价硬件之上。Hadoop具有高可靠...

    Hadoop 培训笔记 及源码

    Hadoop架构分析之集群结构分析,Hadoop架构分析之HDFS架构分析,Hadoop架构分析之NN和DN原生文档解读,Hadoop MapReduce原理之流程图.Hadoop MapReduce原理之核心类Job和ResourceManager解读.Hadoop MapReduce原理之...

    HADOOP学习笔记

    【HADOOP学习笔记】 Hadoop是Apache基金会开发的一个开源分布式计算框架,是云计算领域的重要组成部分,尤其在大数据处理方面有着广泛的应用。本学习笔记将深入探讨Hadoop的核心组件、架构以及如何搭建云计算平台。...

Global site tag (gtag.js) - Google Analytics