Hadoop 2.x与3.x 22点比较,Hadoop 3.x比2.x的改进

(编辑:jimmy 日期: 2024/12/27 浏览:2)

问题导读
1.Hadoop3.x通过什么方式来容错?
2.Hadoop3.x存储开销减少了多少?
3.Hadoop3.x MR API是否兼容hadoop1.x?

一、目的

在这篇文章中,我们将讨论Hadoop 2.x与Hadoop 3.x之间的比较。 Hadoop3版本中添加了哪些新功能,Hadoop3中兼容的Hadoop 2程序,Hadoop 2和Hadoop 3有什么区别?

二、Hadoop 2.x与Hadoop 3.x比较

本节将讲述Hadoop 2.x与Hadoop 3.x之间的22个差异。 现在让我们逐一讨论

2.1License

Hadoop 2.x - Apache 2.0,开源
Hadoop 3.x - Apache 2.0,开源

2.2支持的最低Java版本

Hadoop 2.x - java的最低支持版本是java 7
Hadoop 3.x - java的最低支持版本是java 8

2.3容错

Hadoop 2.x - 可以通过复制(浪费空间)来处理容错。
Hadoop 3.x - 可以通过Erasure编码处理容错。

2.4数据平衡

Hadoop 2.x - 对于数据平衡使用HDFS平衡器。
Hadoop 3.x - 对于数据平衡使用Intra-data节点平衡器,该平衡器通过HDFS磁盘平衡器CLI调用。

2.5存储Scheme

Hadoop 2.x - 使用3X副本Scheme
Hadoop 3.x - 支持HDFS中的擦除编码。

2.6存储开销

Hadoop 2.x - HDFS在存储空间中有200%的开销。
Hadoop 3.x - 存储开销仅为50%。

2.7存储开销示例

Hadoop 2.x - 如果有6个块,那么由于副本方案(Scheme),将有18个块占用空间。
Hadoop 3.x - 如果有6个块,那么空间9个块,中6块空间,3块用于奇偶校验。

2.8YARN时间线服务

Hadoop 2.x - 使用具有可伸缩性问题的旧时间轴服务。
Hadoop 3.x - 改进时间线服务v2并提高时间线服务的可扩展性和可靠性。

2.9默认端口范围

Hadoop 2.x - 在Hadoop 2.0中,一些默认端口是Linux临时端口范围。所以在启动时,他们将无法绑定。
Hadoop 3.x - 但是在Hadoop 3.0中,这些端口已经移出了短暂的范围。

2.10工具

Hadoop 2.x - 使用Hive,pig,Tez,Hama,Giraph和其他Hadoop工具。
Hadoop 3.x - 可以使用Hive,pig,Tez,Hama,Giraph和其他Hadoop工具。

2.11兼容的文件系统

Hadoop 2.x - HDFS(默认FS),FTP文件系统:它将所有数据存储在可远程访问的FTP服务器上。 Amazon S3(简单存储服务)文件系统Windows Azure存储Blob(WASB)文件系统。
Hadoop 3.x - 它支持所有前面以及Microsoft Azure Data Lake文件系统。

2.12Datanode资源

Hadoop 2.x - Datanode资源不专用于MapReduce,我们可以将它用于其他应用程序。
Hadoop 3.x - 此处数据节点资源也可用于其他应用程序。

2.13MR API兼容性

Hadoop 2.x - 与Hadoop 1.x程序兼容的MR API,可在Hadoop 2.X上执行
Hadoop 3.x - 此处,MR API与运行Hadoop 1.x程序兼容,以便在Hadoop 3.X上执行

2.14支持Microsoft Windows

Hadoop 2.x - 它可以部署在Windows上。
Hadoop 3.x - 它也支持Windows。

2.15插槽/容器

Hadoop 2.x - Hadoop 1适用于插槽的概念,但Hadoop 2.X适用于容器的概念。通过容器,我们可以运行通用任务。
Hadoop 3.x - 它也适用于容器的概念。

2.16单点故障

Hadoop 2.x - 具有SPOF的功能,因此只要Namenode失败,它就会自动恢复。
Hadoop 3.x - 具有SPOF的功能,因此只要Namenode失败,它就会自动恢复,无需人工干预就可以克服它。

2.17HDFS联盟

Hadoop 2.x - 在Hadoop 1.0中,只有一个NameNode来管理所有Namespace,但在Hadoop 2.0中,多个NameNode用于多个Namespace。
Hadoop 3.x - Hadoop 3.x还有多个名称空间用于多个名称空间。

2.18可扩展性

Hadoop 2.x - 我们可以扩展到每个群集10,000个节点。
Hadoop 3.x - 更好的可扩展性。 我们可以为每个群集扩展超过10,000个节点。

2.19更快地访问数据

Hadoop 2.x - 由于数据节点缓存,我们可以快速访问数据。
Hadoop 3.x - 这里也通过Datanode缓存我们可以快速访问数据。

2.20HDFS快照

Hadoop 2.x - Hadoop 2增加了对快照的支持。 它为用户错误提供灾难恢复和保护。
Hadoop 3.x - Hadoop 2也支持快照功能。

2.21平台

Hadoop 2.x - 可以作为各种数据分析的平台,可以运行事件处理,流媒体和实时操作。
Hadoop 3.x - 这里也可以在YARN的顶部运行事件处理,流媒体和实时操作。

2.22群集资源管理

Hadoop 2.x - 对于群集资源管理,它使用YARN。 它提高了可扩展性,高可用性,多租户。
Hadoop 3.x - 对于集群,资源管理使用具有所有功能的YARN。

hadoop3.X比hadoop2.x的改进

Common主要改进:
    Shell script rewrite
     过时API删除

HDFS改进:
    支持erasure编码
    支持超过两个namenode
    数据均衡
    多个服务端口发生变化

Yarn改进:
 YARN Timeline Service v.2
 Support for Opportunistic Containers and Distributed Scheduling

MapRduece改进:
    MapReduce task-level native optimization
    Reworked daemon and task heap management

其他新特性:
 Shared client jars

三、结论

正如我们已经讨论了Hadoop 2.x与Hadoop 3.x之间的22个重要差异和3.x的改进,现在我们可以看到Hadoop 2和Hadoop 3哪个更好。

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对的支持。如果你想了解更多相关内容请查看下面相关链接