问题导读
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哪个更好。
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对脚本之家的支持。如果你想了解更多相关内容请查看下面相关链接