解析Hadoop 2.3.0版本的新特性

2019-03-02 23:46|来源: 网路

2014年2月20日,Hadoop 2.3.0版本发布,这是apache 在2014年发布的第一个Hadoop版本,揭开了Hadoop 2014发展的序幕。

 

该版本引入了很多大家期待已久的特性,包括HDFS 的异构层次化存储架构、DataNode Cache,YARN的单点故障解决方案,以及MapReduce的自动化部署等。本文尝试为大家解析这些特性,并给出一些资料供大家深入了解。

HDFS新特性。 2.3.0中引入了两个大的HDFS特性,分别是异构层次化存储架构和DataNode Cache。首先是异构层次化存储架构,在之前的版本,HDFS默认DataNode上所有的存储介质是磁盘,即用户所有数据存储在磁盘上,不管是热数据还是冷数据。但随着近几年存储介质的高速发展,SSD、Flash等新型介质日益成熟,HDFS开始尝试支持异构介质,即同一个Hadoop集群中可以同时存在多种存储介质,用户可根据需要将不同类型的数据存放到不同介质中,比如热点数据存到SSD中,海量的网页数据放到磁盘中。异构层次化存储架构的引入,使得HDFS应用范围更广。第二个特性是DataNode Cache。在旧版本中,HDFS DataNode并未考虑数据缓存,毕竟HDFS定位是一个分布式磁盘存储系统,但随着HDFS之上计算框架多样化的出现,比如流式计算框架Storm,内存计算框架Spark、DAG计算框架Tez等,Hadoop不再仅仅把自己局限在离线处理和分析上,而是能够同时支持离线分析和在线处理,为此,为了能够更好地支持在线处理,降低在线应用的延迟,提高性能,DataNode Cache出现了(值得一提的是,Spark生态系统中的Tachyon存储系统,便是一个构建在HDFS之上的内存系统)。这两个功能都是Hadoop全功能型系统发展的必然产物,HDFS从此不再局限于存储一些离线的批处理数据,也开始尝试支持存储在线数据。这两个功能的设计文档可参考:

https://issues.apache.org/jira/browse/HDFS-2832

https://issues.apache.org/jira/browse/HDFS-4949

需要注意的是,目前这两个特性正处于初期发展阶段,尽管愿景很美好,但目前仅仅实现了最基本的功能,很多功能尚未实现,比如异构层次化存储架构中,想让一个block的三个副本,一个存储在SSD上,另外两个存储在磁盘上。

YARN新特性。YARN目前存在最大的问题是ResourceManager单点故障,该问题是目前最急需解决的遗留问题之一,若不解决,YARN作为资源管理系统就无法承载更多类型的应用。在2.3.0版本中,该问题基本得到了解决,解决方案类似于NameNode HA,是通过Zookeeper实现的。但还不推荐大家使用该版本中的HA方案,而是建议在下一个版本2.4.0中使用。除了HA外,还有两个非常重要的功能将在下一个版本中发布,分别是Generic Application Timeline和Generic Application Timeline Log。第一个特性是Generic Application Timeline,该特性提供了一个共享存储模块,供YARN之上的应用程序存储一些自己的数据,比如运行事件、运行日志等;第二个特性则解决了YARN之上应用程序历史日志管理问题,目前仅有MapReduce可以查看和管理history log,其他应用程序,比如Spark等,不能查看,需要由各个框架/应用程序自行解决该问题,为了防止重复造轮子,YARN干脆提供了一个通用的历史日志管理模块。这两个功能的设计文档可参考:

https://issues.apache.org/jira/browse/YARN-1530

https://issues.apache.org/jira/browse/YARN-321

MapReduce新特性。在Hadoop 2.0中,MapReduce jar包是同YARN和HDFS jar包打包在一起的,部署Hadoop时会一同被分发到各个节点上的,这实际上违背了YARN的设计初衷。YARN是一个资源管理系统,其上面所有应用程序不需要事先部署到各个节点上,只需在客户端存在一份jar包,然后由YARN自动分发到各个节点上即可,为此,Hadoop 2.3.0对此进行了修正。值得一提的是,Spark和Storm等程序不存在这个问题,这使得同一集群中可以运行不同版本的Spark和Storm实例。具体可参考:

https://issues.apache.org/jira/browse/MAPREDUCE-4421

原创文章,转载请注明: 转载自董的博客

本文链接地址: http://dongxicheng.org/mapreduce-nextgen/hadoop-2-3-0-new-features/

作者:Dong,作者介绍:http://dongxicheng.org/about/

本博客的文章集合:


转自:http://www.cnblogs.com/jsunday/p/3853699

相关问答

更多
  • 目前在用的最新版本是1.8; 相比1.6,1.7没有多大实质性改动,在易用性方面做了些改进; 1.8改动较大,比如对接口和表达式进行了改进。 http://www.oracle.com/technetwork/java/javase/downloads/index.html
  • 现在hadoop1.0都出了 简单说一下吧 你的java jdk的环境变量没有设置吧? 最好按以下步骤再做一遍: 1 用root用户安装jdk1.6以上 2 用root用户 创建hadoop用户 3 在hadoop用户下安装hadoop(你上面说的1到4) 4 修改/home/hadoop/.bash_profile将JDK和hadoop的环境变量设置好 5 安装ssh(伪集群也需要ssh)
  • 1、所谓的发行版,是指可以简单易用,直接可以实用或商用的版本。目前这样的版本都是收费的,像IBM、阿里、Amazon等的。它们有试用版或是免费版,但都不好实用或商用,除非花钱购买,这是赢利模式。 2、楼主说的其实只是说的一小部分商业用户,学习型用户都是直接用官网开源版本,而且有更多一部分公司是基于开源版二次开发的,他们是自己用,而没有去再次商业化。相对来说我估计直接购买发行版其实是很少的,但直接购买云平台、云服务倒是应该挺多的。 3、有很多人根本没考虑实用或商用,而是直接用官网的学习版。主要是基于深度学习和 ...
  • 1. Hadoop 3.0简介 Hadoop 2.0是基于JDK 1.7开发的,而JDK 1.7在2015年4月已停止更新,这直接迫使Hadoop社区基于JDK 1.8重新发布一个新的Hadoop版本,而这正是hadoop 3.0。 Hadoop 3.0的alpha版预计今年夏天发布,GA版本11月或12月发布。 Hadoop 3.0中引入了一些重要的功能和优化,包括HDFS 可擦除编码、多Namenode支持、MR Native Task优化、YARN基于cgroup的内存和磁盘IO隔离、YARN con ...
  • Hadoop 2对于HDFS没有太多改动,把所有namenode和datanode备份应该就可以 我记得网上有恢复的教程
  • 我不确定您的XML结构是什么样的,但是例如,如果您有XML结构: 102A5RET Blue-Moon-12-PK-BTTLE 2
  • 该错误表示权限问题。 hadoop用户需要hadoop文件夹的适当权限。 尝试在终端中运行以下命令: sudo chown -R hadoop /usr/local/Cellar/hadoop/2.3.0/ The error indicates a permissions problem. The hadoop user needs the proper privileges to the hadoop folder. Try running the following in Terminal: sud ...
  • 1.0.0版本中是否提供了任何文档注册安全功能以及如何配置和使用相同的安全功能。 对此的任何意见都非常感谢。 Hadoop安全文档是稀疏的,Cloudera拥有CDH3最详尽的文档 。 它应该或多或少适用于Hadoop 1.0.0。 此链接包含有关Hadoop Security的文章/文档的综合信息。 根据以下链接安全功能•在hadoop 1.0.0版本中添加了安全性(通过Kerberos身份验证协议进行强身份验证)。 http://www.infoq.com/news/2012/01/apache-had ...
  • 使用元素。 喜欢 org.apache.avro avro-mapred 1.7.7 hadoop2 旁白:当您尝试使用gui对话框添加依赖项时,通常使用IDE(如Eclipse),它将显示您可以从中选择的不同的列表 Use ...
  • 根据您的输入,您的Hadoop安装似乎工作正常。 有什么问题, hadoop fs -copyFromLocal希望将目录HDFS目录作为目标目录,而不是Hadoop存储其块的本地目录。 所以在你的情况下,命令应该看起来像(例如): sara@ubuntu:/usr/lib/hadoop/hadoop-2.3.0/bin$ hdfs dfs -copyFromLocal /home/sara/Downloads/CA-GrQc.txt /sampleDir/ 其中sampleDir是您使用hadoop ...