查看原文
其他

大数据哔哔集20210106 - Hadoop3.0有哪些新特性

以下文章来源于大数据真好玩 ,作者大数据真好玩

点击上方蓝色字体,选择“设为星标”

回复”资源“获取更多惊喜

大数据技术与架构点击右侧关注,大数据开发领域最强公众号!

大数据真好玩点击右侧关注,大数据真好玩!


【大数据哔哔集】是小编发起的每日大数据圈子最前沿、高频、有难度的面试题目以及资讯等。

精简版总结
1、JDK版本的最低依赖从1.7变成了1.82、HDFS支持Erasure Encoding3、Timeline Server v2版本4、hadoop-client这个依赖分为hadoop-client-api和hadoop-client-runtime两个依赖5、支持随机container和分布式调度6、MR进行了task级别的本地优化,性能提升30%7、支持多个Standby状态的NameNode8、多个端口被改动9、 支持微软的Azure分布式文件系统和阿里的aliyun分布式文件系统10、datanode内部添加了负载均衡
Hadoop3.x概述
由于Hadoop 2.0是基于JDK 1.7开发的,而JDK 1.7在2015年4月已停止更新,这直接迫使Hadoop社区基于JDK 1.8重新发布一个新的Hadoop版本,即Hadoop 3.0。
Apache hadoop 项目组最新消息,Hadoop3.x以后将会调整方案架构,将Mapreduce 基于内存+io+磁盘,共同处理数据。改变最大的是hdfs,hdfs 通过最近block块计算,根据最近计算原则,本地block块,加入到内存,先计算,通过IO,共享内存计算区域,最后快速形成计算结果,比Spark快10倍(官网这么说,说法存疑,可以肯定的是计算速度有本质提升)。
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 Native Task优化、YARN基于cgroup的内存和磁盘IO隔离、YARN container resizing等。
Hadoop3.x官方文档地址如下: http://hadoop.apache.org/docs/r3.0.0/

Hadoop3.x新特性之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/hadoop-hdfs/HDFSErasureCoding.html
http://hadoop.apache.org/docs/r3.0.1/hadoop-project-dist/hadoop-hdfs/HDFSHighAvailabilityWithQJM.html

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-yarn-site/TimelineServiceV2.html

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分布式文件系统。


Flink实战 - Binlog日志并对接Kafka实战

Flink系列 - 实时数仓之电商订单支付实时对账

Flink系列 - 实时数仓之CEP预警实战


欢迎点赞+收藏+转发朋友圈素质三连


版权声明:

本文为《大数据真好玩》原创整理,转载需作者授权。未经作者允许转载追究侵权责任。

责编 | 大数据真好玩

插画 | 大数据真好玩

微信公众号 | 大数据真好玩


文章不错?点个【在看】吧! 👇

视频 小程序 ,轻点两下取消赞 在看 ,轻点两下取消在看

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存