首页 > 编程知识 正文

Hadoop 3.x 版本相对于 Hadoop 2.x的新特性

时间:2023-05-05 15:57:40 阅读:91351 作者:326

Apache Hadoop 3.x

Apache Hadoop 3.x在以前的主要发行版(hadoop-2.x )中进行了许多大幅改善。

1. 最低要求的Java版本从Java 7增加到Java 8

目前,所有的Hadoop JAR都是为Java 8的运行时版本编译的。 如果用户使用的是Java 7或更低版本,则必须升级到Java 8。

2. 支持HDFS中的纠删码

代码删除修改是一种永久保存数据的方法,可以节省大量的空间。 与标准HDFS复制机制的3倍开销相比,里德所罗门(10,4 )这样的标准编码的空间开销是1.4倍。

删除代码在重构过程中会带来额外的开销,大多数情况下会执行远程读取,因此以前用于存储访问频率较低的数据。

引入此功能时,必须考虑代码删除机制的网络和CPU开销。

有关在HDFS中修改删除的详细信息,请参见以前编写的这篇文章。 HDFS 3.x的新功能-删除修正

3. Shell脚本重写

Hadoop shell脚本修复了许多长期错误,并被重写为包含一些新功能。 虽然Hadoop开发人员要求兼容性,但是某些更改可能会破坏现有的安装。

4. MapReduce 任务本地优化

MapReduce增加了对map output收集器本地执行的支持,在shuffle密集型工作中可以将性能提高30%以上。

5. 支持两个以上的 NameNode

之前的版本中,HDFS的高可用性最多支持两个NameNode。 在HDFS3. x版中,通过将编辑复制到法定数量的三个日记账节点,可以容忍系统中的任何一个节点发生故障。

但是,有些部署需要更高的容错率。 此新功能启用,允许用户运行多个备用NameNode。 例如,通过配置三个NameNode和五个JournalNode,群集不仅可以承受一个节点的故障,还可以承受两个节点的故障。

6. 多个服务的默认端口已更改

之前,多个Hadoop服务器的默认端口在Linux的临时端口范围内(32768-61000 )。 也就是说,在启动时,服务可能会因为与其他APP的冲突而无法绑定到端口。

这些冲突的端口已从临时范围内移动。 具体的端口变更如下。

NameNode的端口:50070---- 9870、8020---9820、50470---- 9871; 次级名称端口:50091---- 9869,50090---- 9868; DataNode的端口:50020---- 9867,50010---9866,50475---- 9865,50075---- 9864; Hadoop KMS的端口:16000---- 9600 (h基本的h主端口号和Hadoop KMS端口号冲突。 因为两者都使用16000,所以Hadoop KMS更改为9600 )。

7. 支持Microsoft Azure数据湖和阿里云对象存储系统文件系统连接器

Hadoop目前支持将Microsoft Azure数据湖与Aliyun对象存储系统集成为与Hadoop兼容的替代文件系统。

8. 数据内节点平衡器

单个DataNode可以管理多个磁盘。 正常写入时,磁盘会均匀填充。 但是,添加或更换磁盘可能会在DataNode内部产生较大的偏差。 以往的HDFS平衡器无法应对这种情况。 新版本的HDFS具有平衡功能处理,该功能将从HDFS磁盘平衡程序CLI中调用。

对于基于

9. 基于HDFS路由器的联合

HDFS路由器的联盟,添加了一个RPC路由层,提供了多个HDFS名称空间的联盟视图。 这样可以简化从现有HDFS客户端到联合群集的访问。

10. YARN资源类型

YARN资源模型是通用的,以支持用户定义的CPU和内存以外的可计数资源类型。 例如,群集管理员可以定义资源,如GPU、软件许可和本地连接存储。 然后,可以根据这些资源的可用性对YARN任务进行调度。

参考链接:这篇文章翻译自Hadoop官方文档。 3359 Hadoop.Apache.org/docs/r 3.0.0 /索引. html

单击下面的链接查看数据仓库的建模技术

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。