首页常见问题正文

Hadoop3.x相对于之前版本有哪些优化?【Hadoop架构变迁史】

更新时间:2023-10-05 来源:黑马程序员 浏览量:

Hadoop 1.x和Hadoop 2.x架构

Hadoop1.x架构

·MapReduce既负责Hadoop资源管理,又负责Hadoop的数据处理,负荷较大。

·HDFS主要负责Hadoop的分布式文件存储。

Hadoop2.x架构

·MapReduce只负责Hadoop的数据处理,负载相对较小。

·YARN负责Hadoop的资源管理和任务调度。

·HDFS负责Hadoop中的分布式文件存储。

·YARN支持为其他大数据开源项目提供资源管理。

Hadoop3.x架构优化

1. Hadoop Common

·JDK升级:Hadoop 2.x版本支持的最低JDK版本为7。Hadoop 3.x版本支持的最低JDK版本为8。

·重构Shell脚本:Hadoop3.x中的Shell脚本被重写,修补了许多长期存在的Bug,提高了Hadoop使用时的稳定性。

·精简内核:Hadoop 3.x剔除了过期的API,将默认组件的实现替换成更高效的实现。

·类路径隔离:Hadoop 3.x提供了类路径隔离机制,防止不同版本的jar包发生冲突。

2. MapReduce

·任务本地优化:Hadoop 3.x中,为MapReduce增加了NativelMapOutputCollector组件来处理Map Task输出的键值对,包括排序、溢写和IFile序列化,对于Shuffle比较密集型的任务,可以使MapTask的执行速度性能提高2~3倍。

·内存参数自动推断:在Hadoop 2.x中,运行MapReduce程序时设置内存参数的过程非常繁琐。而Hadoop 3.x中运行MapReduce程序时,可自动进行内存的调整。

3. YARN

·YARN Timeline Service V2:YARN Timeline Service V2主要对Hadoop 2.x的YARN进行了两处优化,第一使用了更具有伸缩性的分布式体系架构,以及可扩展的后端存储,从而将数据的写入和读取进行了分离;第二采用了一组收集器负责将数据写入到后端进行存储。

·增加YARN资源类型:Hadoop 3.x中,YARN资源模型已被通用化,支持用户定义CPU和内存以外的可计数资源类型。

4. HDFS

·支持多个NameNode:Hadoop 2.x只允许HDFS中存在一个Active(激活)状态的NameNode和一个Standby(备用)状态的NameNode。Hadoop 3.x版本允许HDFS中存在一个Active状态的NameNode和多个Standby状态的NameNode,有效提高了HDFS的可靠性。

·引入Erasure Coding(纠删码):Hadoop 3.x引入了Erasure Coding,在确保HDFS存储数据可靠的前提下,可以节省50%的存储空间。


分享到:
在线咨询 我要报名
和我们在线交谈!