Hadoop 1.x和Hadoop 2.x,Hadoop 1.x局限性和Hadoop 2.x YARN优点之间的区别

时间:2020-02-23 14:33:07  来源:igfitidea点击:

在本文中,我们将详细讨论Hadoop 1.x和Hadoop 2.x之间的区别,Hadoop 1.x架构的缺点或者局限性以及Hadoop 2.x架构如何解决Hadoop 1.x局限性。

Apache Hadoop的最新版本是2.7.0。

Hadoop V.1.x组件

Apache Hadoop V.1.x具有以下两个主要组件

  • HDFS(HDFS V1)
  • MapReduce(MR V1)

在Hadoop V.1.x中,这两个也称为Hadoop的两个支柱。

Hadoop V.2.x组件

Apache Hadoop V.2.x具有以下三个主要组件

  • HDFS V.2
  • 纱(MR V2)
  • MapReduce(MR V1)

在Hadoop V.2.x中,这两个也被称为Hadoop的三大支柱。

Hadoop 1.x限制

Hadoop 1.x具有许多局限性或者缺点。
Hadoop 1.x的主要缺点是其架构中的MapReduce组件。
这意味着它仅支持基于MapReduce的批处理/数据处理应用程序。

Hadoop 1.x具有以下局限性/缺点:

  • 它仅适用于Hadoop系统中已经存在的大量数据的批处理。

  • 它不适用于实时数据处理。

  • 它不适用于数据流。

  • 每个群集最多支持4000个节点。

  • 它具有单个组件:JobTracker,可以执行许多活动,例如资源管理,作业计划,作业监视,重新计划作业等。

  • JobTracker是单点故障。

  • 它不支持多租户支持。

  • 每个群集仅支持一个名称节点和一个名称空间。

  • 它不支持水平可伸缩性。

  • 它仅运行Map/Reduce作业。

  • 它遵循HDFS中的插槽概念来分配资源(内存,内存,CPU)。
    它具有静态贴图和缩小插槽。
    这意味着,一旦将资源分配给Map/Reduce作业,即使某些插槽处于空闲状态,也无法重新使用它们。

For Example:- Suppose, 10 Map and 10 Reduce Jobs are running with 10 + 10 Slots to perform a computation. All Map Jobs are doing their tasks but all Reduce jobs are idle. We cannot use these Idle jobs for other purpose.

注意:-总之,Hadoop 1.x系统是一个单一目的系统。
我们只能将其用于基于MapReduce的应用程序。

Hadoop 1.x和Hadoop 2.x之间的差异

如果我们观察Hadoop 1.x和2.x的组件,则Hadoop 2.x体系结构具有一个另外的新组件:YARN(又是另一个资源协商器)。

它是BigData Hadoop系统的改变游戏规则的组件。

  • 新组件和API

如下图所示,重新构建了Hadoop 1.x并引入了新组件来解决Hadoop 1.x的局限性。

  • Hadoop 1.x作业跟踪器

如下图所示,Hadoop 1.x Job Tracker组件分为两个组件:

  • 资源经理:

管理集群中的资源

  • 应用主管:
    To manage applications like MapReduce, Spark etc.- Hadoop 1.x仅支持一个用于管理HDFS文件系统的名称空间,而Hadoop 2.x支持多个名称空间。

  • Hadoop 1.x仅支持一种编程模型:MapReduce。
    Hadoop 2.x使用YARN组件支持多种编程模型,例如MapReduce,Interative,Streaming,Graph,Spark,Storm等。

  • Hadoop 1.x在可伸缩性方面有很多限制。
    Hadoop 2.x通过新架构克服了这一限制。

  • Hadoop 2.x具有多租户支持,但Hadoop 1.x没有。

  • Hadoop 1.x HDFS使用固定大小的插槽机制进行存储,而Hadoop 2.x使用可变大小的容器。

  • Hadoop 1.x每个群集最多支持4,000个节点,而Hadoop 2.x每个群集最多支持10,000个以上的节点。

Hadoop 2.x如何解决Hadoop 1.x局限性

Hadoop 2.x通过使用新架构解决了Hadoop 1.x的大多数限制。

  • 通过将MapReduce组件职责分离为不同的组件。

  • 通过引入用于资源管理的新YARN组件。

  • 通过分离组件的职责,它支持多个名称空间,多租户,更高的可用性和更高的可伸缩性。

Hadoop 2.x YARN的优点

Hadoop 2.x YARN具有以下优点。

  • 高度可扩展
  • 高可用性
  • 支持多种编程模型
  • 支持多租户
  • 支持多个命名空间
  • 改进的集群利用率
  • 支持水平可伸缩性