|NO.Z.00057|——————————|BigDataEnd|——|Hadoop&MapReduce.V29|——|Hadoop.v29|Hadoop3.x新特性|

一、扩展Hadoop3.x新特性概述
### --- Hadoop3.x

~~~     Hadoop3.x中增强了很多特性,在Hadoop3.x中,不再允许使用jdk1.7,
~~~     要求jdk1.8以上版本。这是因为Hadoop 2.0是基于JDK 1.7开发的,
~~~     而JDK 1.7在2015年4月已停止更新,这直接迫使Hadoop社区基于JDK 1.8重新发布一个新的Hadoop版本,
~~~     而这正是Hadoop3.x。Hadoop3.x以后将会调整方案架构,将Mapreduce 基于内存+io+磁盘,共同处理数据。
~~~     Hadoop 3.x中引入了一些重要的功能和优化,包括HDFS 可擦除编码、
~~~     多Namenode支持、MR NativeTask优化、YARN基于cgroup的内存和
~~~     磁盘IO隔离、YARN container resizing等。
### --- Hadoop3.x官方文档地址如下:

http://hadoop.apache.org/docs/r3.0.1/
二、Hadoop3.x新特性之Common改进
### --- Hadoop Common改进:

~~~     精简Hadoop内核,包括剔除过期的API和实现,
~~~     将默认组件实现替换成最高效的实现(比如将FileOutputCommitter缺省实现换为v2版本,
~~~     废除hftp转由webhdfs替代,移除Hadoop子实现序列化库org.apache.hadoop.Records
~~~     lasspath isolation以防止不同版本jar包冲突,
~~~     比如google Guava在混合使用Hadoop、HBase和Spark时,很容易产生冲突。
~~~     (https://issues.apache.org/jira/browse/HADOOP-11656)
~~~     Shell脚本重构。 Hadoop 3.0对Hadoop的管理脚本进行了重构,
~~~     修复了大量bug,增加了新特性,支持动态命令等。使用方式上则和之前版本的一致。
~~~     (https://issues.apache.org/jira/browse/HADOOP-9902)Hadoop3.x新特性之HDFS改进
### --- Hadoop3.x中最大改变的是HDFS,HDFS通过最近black块计算,根据最近计算原则,本地black块,加入到内存,先计算,通过IO,共享内存计算区域,最后快速形成计算结果。

~~~     HDFS支持数据的擦除编码,这使得HDFS在不降低可靠性的前提下,节省一半存储空间。
~~~     (https://issues.apache.org/jira/browse/HDFS-7285)
~~~     多NameNode支持,即支持一个集群中,一个active、多个standby namenode部署方式。
~~~     注:ResourceManager特性在hadoop 2.0中已经支持。
~~~     (https://issues.apache.org/jira/browse/HDFS-6440)
### --- 关于这两个特性的官方文档地址:

http://hadoop.apache.org/docs/r3.0.1/hadoop-project-dist/hadoophdfs/HDFSErasureCoding.html
http://hadoop.apache.org/docs/r3.0.1/hadoop-project-dist/hadoophdfs/HDFSHighAvailabilityWithQJM.html
三、Hadoop3.x新特性之YARN改进
### --- Hadoop3.x新特性之YARN改进

~~~     基于cgroup的内存隔离和IO Disk隔离(https://issues.apache.org/jira/browse/YARN-2619)
~~~     用curator实现RM leader选举(https://issues.apache.org/jira/browse/YARN-4438)
~~~     containerresizing(https://issues.apache.org/jira/browse/YARN-1197)
~~~     Timelineserver next generation (https://issues.apache.org/jira/browse/YARN-2928)
### --- 官方文档地址:

http://hadoop.apache.org/docs/r3.0.1/hadoop-yarn/hadoop-yarnsite/TimelineServiceV2.html
四、Hadoop3.x新特性之MapReduce改进
### --- Hadoop3.x新特性之MapReduce改进

~~~     Tasknative优化。为MapReduce增加了C/C++的map output collector实现(
~~~     包括Spill,Sort和IFile等),通过作业级别参数调整就可切换到该实现上。
~~~     对于shuffle密集型应用,其性能可提高约30%。
~~~     (https://issues.apache.org/jira/browse/MAPREDUCE-2841)
~~~     MapReduce内存参数自动推断。在Hadoop 2.0中,为MapReduce作业设置内存参数非常繁琐,
~~~     涉及到两个参数:mapreduce.{map,reduce}.memory.mb和mapreduce.{map,reduce}.java.opts,
~~~     一旦设置不合理,则会使得内存资源浪费严重,比如将前者设置为4096MB,
~~~     但后者却是“-Xmx2g”,则剩余2g实际上无法让java heap使用到。
~~~     (https://issues.apache.org/jira/browse/MAPREDUCE-5785)
~~~     # Hadoop3.x新特性之其他
~~~     添加新的 hadoop-client-api 和 hadoop-client-runtime 组件到一个单独的jar包里,
~~~     以此解决依赖不兼容的问题。 (https://issues.apache.org/jira/browse/HADOOP-11804)
~~~     支持微软的Azure分布式文件系统和阿里的aliyun分布式文件系统

 
 
 
 
 
 
 
 
 

Walter Savage Landor:strove with none,for none was worth my strife.Nature I loved and, next to Nature, Art:I warm'd both hands before the fire of life.It sinks, and I am ready to depart
                                                                                                                                                   ——W.S.Landor

 

posted on 2022-04-07 14:19  yanqi_vip  阅读(34)  评论(0)    收藏  举报

导航