[Hadoop系列]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运行后通过检查作业历史和配置信息来诊断错误。针对常见的问题能提供一些改进意见,使得你的代码能避免出错。

时间: 2024-11-05 12:24:24

[Hadoop系列]Changes of Hadoop 0.20笔记的相关文章

开源云计算技术系列(四)(Cloudera安装配置hadoop 0.20最新版配置)

接上文,我们继续体验Cloudera 0.20最新版. wget hadoop-0.20-conf-pseudo_0.20.0-1cloudera0.5.0~lenny_all.deb wget hadoop-0.20_0.20.0-1cloudera0.5.0~lenny_all.deb debian:~# dpkg –i hadoop-0.20-conf-pseudo_0.20.0-1cloudera0.5.0~lenny_all.deb dpkg –i hadoop-0.20_0.20.0

源云计算技术系列(七)Cloudera (hadoop 0.20)

虚拟一套centos 5.3 os. 下载 jdk-6u16-linux-i586-rpm.bin [root@hadoop ~]# chmod +x jdk-6u16-linux-i586-rpm.bin [root@hadoop ~]# ./jdk-6u16-linux-i586-rpm.bin [root@hadoop ~]#  java -version java version "1.6.0" OpenJDK  Runtime Environment (build 1.6.0

[Hadoop系列]Hadoop的安装-3.完全分布模式

inkfish原创,请勿商业性质转载,转载请注明来源(http://blog.csdn.net/inkfish ). Hadoop是Apache基金会下的一个开源云计算平台项目.当前最新版本是hadoop 0.20.1.下面就hadoop 0.20.1为蓝本,介绍在Ubuntu Linux 9.10下安装hadoop的方法.(来源:http://blog.csdn.net/inkfish) 支持的平台:(来源:http://blog.csdn.net/inkfish) Linux,可作为开发和产

[hadoop系列]hadoop-gpl-compression的安装和编译

inkfish原创,请勿商业性质转载,转载请注明来源(http://blog.csdn.net/inkfish ). 从Hadoop 0.20.X开始,由于lzo压缩格式GPL形式授权的影响,lzo压缩从hadoop发布包中取消,转而成为Google Code中的一个项目hadoop-gpl-compression .本文介绍hadoop-gpl-compression的安装和编译.这里之所以叫安装和编译,而不是编译和安装,是因为安装并不一定需要编译,安装不成功才需要自己动手编译.(来源:htt

[Hadoop系列]Hadoop的MapReduce中多文件输出

inkfish原创,请勿商业性质转载,转载请注明来源(http://blog.csdn.net/inkfish ). Hadoop默认的输出是TextOutputFormat,输出文件名不可定制.hadoop 0.19.X中有一个org.apache.hadoop.mapred.lib.MultipleOutputFormat,可以输出多份文件且可以自定义文件名,但是从hadoop 0.20.x中MultipleOutputFormat所在包的所有类被标记为"已过时",当前如果再使用M

[Hadoop系列]Hadoop的安装-2.伪分布模式

inkfish原创,请勿商业性质转载,转载请注明来源(http://blog.csdn.net/inkfish ). Hadoop是Apache基金会下的一个开源云计算平台项目.当前最新版本是hadoop 0.20.1.下面就hadoop 0.20.1为蓝本,介绍在Ubuntu Linux 9.10下安装hadoop的方法.(来源:http://blog.csdn.net/inkfish) 支持的平台:(来源:http://blog.csdn.net/inkfish) Linux,可作为开发和产

[Hadoop系列]Hadoop的安装-1.本地模式

inkfish原创,请勿商业性质转载,转载请注明来源(http://blog.csdn.net/inkfish ). Hadoop是Apache基金会下的一个开源云计算平台项目.当前最新版本是hadoop 0.20.1.下面就hadoop 0.20.1为蓝本,介绍在Ubuntu Linux 9.10下安装hadoop的方法.(来源:http://blog.csdn.net/inkfish) 支持的平台:(来源:http://blog.csdn.net/inkfish) Linux,可作为开发和产

[hadoop系列]Pig的安装和简单示例

inkfish原创,请勿商业性质转载,转载请注明来源(http://blog.csdn.net/inkfish ).(来源:http://blog.csdn.net/inkfish) Pig是Yahoo!捐献给Apache的一个项目,目前还在Apache孵化器(incubator)阶段,目前版本是v0.5.0.Pig是一个基于Hadoop的大规模数据分析平台,它提供的SQL-like语言叫Pig Latin,该语言的编译器会把类SQL的数据分析请求转换为一系列经过优化处理的MapReduce运算

环境-eclipse hadoop 识别不了hadoop的基本数据类型,怎么弄的

问题描述 eclipse hadoop 识别不了hadoop的基本数据类型,怎么弄的 菜鸟,刚刚学习hadoop,配置了环境,看了点代码,却总是识别不了hadoop下的数据类型.就是import org.apache.hadoop.io.*:这个不能成功!!!! 解决方案 是不是没有把所有jar包都导入进入呢?全部都要加进去的加入hadoop-0.20.1-core.jar以及lib下所有的jar以及lib子目录下所有的jar