hadoop 3.X新特性

总结一下hadoop3版本的新特性,方便以后工作时学习应用.
1.java版本更新
将默认的最低jdk从7升到了8
2.纠删码
可以将3倍副本占据的空间压缩到1.5倍,并且依旧保持3倍的容错.但是在读取数据的时候需要进行额外的计算,因此适用于储存不频繁使用的数据.
3.YARN中的资源类型
通过扩展YARN的资源类型,支持cpu和内存之外的其它资源,如GPU,FPGA,软件许可证,本地存储等.
4.重写了shell脚本
重写了hadoop中shell脚本,修复了很多长期存在的bug并添加了新特性.有一些改进兼容老版本,有一些不兼容.
5.MapReduce任务级别的本地优化
对map阶段的输出收集器增加了本地实现,对于洗牌密集型工作可以提供30%以上的性能.
6.支持两个以上的NameNode
hadoop2.x中NameNode的HA只包含一个active的NameNode和一个standby的NameNode.解决了系统的单点故障问题.在hadoop3中允许多个standby状态的NameNode以达到更高级别容错的目的.
7.更改了hadoop中多个服务用到的默认端口值
以前,多个hadoop服务的默认端口位于linux临时端口范围(32768-61000).这意味着在启动时,由于与另一个应用程序的冲突,服务有时无法绑定到端口.这些冲突的端口已移除临时端口范围,影响NameNode,Secondary NameNode,DataNode和KMS.
8.支持与Microsoft Azure Data Lake和Aliyun对象存储系统进行集成
Hadoop现在支持与Microsoft Azure Data Lake和Aliyun对象存储系统的集成,作为替代Hadoop兼容的文件系统。
9.DataNode内部的数据平衡器
单个DataNode管理多个磁盘。 在正常写入操作期间,磁盘将被均匀填充。 但是,添加或替换磁盘可能会导致DataNode内的严重数据偏斜。 旧的HDFS平衡器不能处理,旧的HDFS平衡器处理DN之间而非内部的数据偏斜。
10.重做了守护进程的堆管理以及任务的堆管理
对Hadoop守护进程以及MapReduce任务的堆管理做了一系列更改。现在可以根据主机的内存大小进行自动调整,并且不推荐使用HADOOP_HEAPSIZE变量。简化了map和reduce任务堆空间的配置,在任务中不再需要以java选项的方式进行指定.
11.S3Guard:S3A文件系统客户端的一致性和元数据缓存
为Amazon S3存储的S3A客户端添加了一个可选功能:能够将DynamoDB表用于文件和目录元数据的快速一致存储。
12.基于路由器的HDFS的联邦
HDFS基于路由器的联邦添加了一个RPC路由层,该层提供多个HDFS命名空间的联合视图。 这与现有的ViewFs和HDFS联合功能类似,不同之处在于安装表由路由层而不是客户端在服务器端进行管理, 简化了对现有HDFS客户端对联邦群集的访问。

猜你喜欢

转载自blog.csdn.net/s_pr1te/article/details/89105446