Hadoop1和Hadoop2和Hadoop3之间的差异

Posted Weikun Xing

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Hadoop1和Hadoop2和Hadoop3之间的差异相关的知识,希望对你有一定的参考价值。

本文将详细探讨Hadoop1和Hadoop2和Hadoop3之间的差异,借鉴了某些外国技术博客

文章目录

Hadoop1和Hadoop2之间的差异

1. Components(组件)

在 Hadoop 1中我们有 MapReduce,但 Hadoop 2有 YARN (另一种资源协调者)和 MapReduce 版本2。

Hadoop 1Hadoop 2
HDFSHDFS
Map ReduceYARN / MRv2

2. Daemons(守护进程)

Hadoop 1Hadoop 2
NamenodeNamenode
DatanodeDatanode
Secondary NamenodeSecondary Namenode
Job TrackerResource Manager
Task TrackerNode Manager

3. Working(工作)


在Hadoop 1中,有HDFS用于存储,Map Reduce作为资源管理和数据处理。由于Map Reduce上的这种工作负载,它将影响性能。

在Hadoop 2中,同样有用于存储的HDFS,在HDFS的顶部有作为资源管理的YARN。它基本上分配了资源并使所有的事情继续进行。

4. Limitations(局限性)

Hadoop 1是一个主从架构。它由一个主服务器和多个从服务器组成。假设主节点崩溃了,那么不管你最好的从节点是什么,你的集群都会被摧毁。同样,创建这个集群意味着在另一个系统上复制系统文件、映像文件等非常耗时,这是当今组织所不能容忍的。

Hadoop 2也是一个主从架构。但它由多个主节点(即活动名称节点和备用名称节点)和多个从节点组成。如果主节点崩溃了,备用主节点就会接管它。主备节点可以进行多种组合。因此,Hadoop 2将消除单点故障的问题。

5. Ecosystem(生态系统)


Oozie基本上是工作流调度程序。它根据作业的依赖关系决定执行作业的特定时间。
Pig、Hive和Mahout是在Hadoop之上工作的数据处理工具。
Sqoop用于导入和导出结构化数据。您可以通过SQL数据库直接将数据导入、导出到HDFS中。
Flume用于导入导出非结构化数据和流数据。

Hadoop2和Hadoop3之间的差异

显然,Hadoop 3. x 比较早期版本的 Hadoop 2. x 有一些更高级和兼容的特性。

1.License(许可证)

Hadoop 2.x – Apache 2.0, Open Source(开源)
Hadoop 3.x – Apache 2.0, Open Source(开源)

2.支持Java的最低版本

Hadoop 2.x – Java 的最小支持版本是 java7
Hadoop 3.x – Java 的最小支持版本是 java8

3.Fault Tolerance(容错性)

Hadoop 2.x – 容错可以通过复制来处理(这会浪费空间)
Hadoop 3.x – 容错可以通过删除编码来处理

4.数据平衡

Hadoop 2.x – HDFS 均衡器用于数据平衡
Hadoop 3.x –使用内部数据节点平衡器,通过 HDFS 磁盘平衡器命令行界面调用

5.贮存计划

Hadoop 2.x – 使用3x 复制模式
Hadoop 3.x –支持 HDFS 中的擦除编码

6.存储开销

Hadoop 2.x – HDFS 在存储空间上有200% 的开销
Hadoop 3.x –存储开销只有50%,这意味着我们有更多的空间来工作

存储开销示例

贴上英文,对照理解
Hadoop 2.x – If there is 6 block so there will be 18 blocks occupied the space because of the replication scheme.
如果有 6 个块,那么由于复制方案,将有 18 个块占用空间。

Hadoop 3.x – If there is 6 block so there will be 9 blocks occupied the space 6 block and 3 for parity.
如果有 6 个块,那么将有 9 个块占用空间 6 个块和 3 个用于奇偶校验。

7.YARN Timeline Service(YARN时间轴服务)

Hadoop 2.x – 使用具有可伸缩性问题的旧Timeline Service。
Hadoop 3.x –改进Timeline Service,提高服务的可扩展性和可靠性

8.默认端口范围

Hadoop 2.x – 在 Hadoop 2.0中,一些默认端口是临时端口范围。因此在启动时,它们将无法绑定
Hadoop 3.x –但是在 Hadoop 3.0中,这些端口已经移出了临时范围

9.可扩展性

Hadoop 2.x – 有限的可扩展性,一个集群中最多可以有10000个节点
Hadoop 3.x – 可扩展性得到改善,一个集群中可以有超过10000个节点

10.Tools(工具)

Hadoop 2.x – Hive, pig, Tez, Hama, Giraph and other Hadoop tools.
Hadoop 3.x – Hive, pig, Tez, Hama, Giraph and other Hadoop tools are available(可用的).

11.兼容文件系统

Hadoop 2.x – HDFS (默认 FS) ,FTP 文件系统: 这存储所有的数据在远程可访问的 FTP 服务器。Amazon S3(简单存储服务)文件系统 Windows Azure Storage Blobs (WASB)文件系统
Hadoop 3.x – 所有文件系统,包括 Microsoft Azure Data Lake 文件系统

12.Name Node recovery(Name Node恢复)

Hadoop 2.x – 恢复需要人工干预
Hadoop 3.x – Name Node恢复不需要手动干预

13.Datanode Resources(数据节点资源)

Hadoop 2.x – Datanode resource不是专用于MapReduce的,我们可以将它用于其他应用程序。
Hadoop 3.x – 这里的数据节点资源也可以用于其他应用程序。

14.MR API Compatibility(MR API兼容性)

Hadoop 2.x – MR API compatible with Hadoop 1. x program to execute on Hadoop 2.x
MR API 兼容 Hadoop 1.x 程序在 Hadoop 2.x 上执行

Hadoop 3.x – Here also MR API is compatible with running Hadoop 1. x programs to execute on Hadoop 3.x
这里 MR API 也兼容运行 Hadoop 1.x 程序以在 Hadoop 3.x 上执行

这段翻译还是谷歌翻译翻译的比较贴切.

15.Cluster Resource Management(集群资源管理)

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

当然还有其他差异,大家可以在评论区探讨,如果我文章写的不对的地方,还请大佬们,哥哥姐姐们在评论区直接怼我,哈哈

以上是关于Hadoop1和Hadoop2和Hadoop3之间的差异的主要内容,如果未能解决你的问题,请参考以下文章

大数据Hadoop2.x与Hadoop3.x相比较都有哪些变化

Hadoop1.x与Hadoop2.x之间的差异

深入理解HDFS 一

Hadoop1.x、2.x、3.x区别

HDFS架构和原理

Hadoop1.x与Hadoop2的区别