YARN和MR2之间有什么区别吗?

时间:2017-10-09 12:55:21

标签: hadoop mapreduce yarn hadoop2

我在YARNMR2之间感到有点困惑。他们一样吗?我已经看到YARN作为在一些文档中运行分布式应用程序的平台而MapReduce作为这样的分布式应用程序,这是什么意思?这是由程序员构建的MapReduce应用程序(例如:wordcount程序)吗? 我再次看到“编写自己的YARN应用程序”,这是什么意思? wordcount程序属于哪个类别,YARN应用程序或MR2应用程序?

请更正问题,如果它不符合stackoverflow标准,我试图表达我的所有怀疑。

2 个答案:

答案 0 :(得分:0)

首先在HADOOP 2中引入YARN。在hadoop 1中,单个Name节点管理Hadoop集群的整个命名空间。随着YARN(YET ANOTHER RESOURCE MANAGER)的引入,YARN负责集群资源管理。

您可以假设YARN在HDFS之上运行,在YARN上运行不同的数据处理组件,如mapreduce和othes run。 在Hadoop 1中,用户可以选择使用Java,Python或其他脚本语言编写MapReduce程序,也可以使用数据转换语言Pig。无论使用哪种方法,都从根本上依赖于MapReduce处理模型来运行。

除了MapReduce之外,YARN还支持多种处理模型。其中一个最重要的好处是我们不再局限于使用I / O密集型,高延迟的MapReduce框架。

现在您的问题 - “编写您自己的YARN应用程序”,其含义是什么?

现在在YARN上我们可以编写任何分布式应用程序。 MR2是负责运行MapReduce框架的分布式应用程序之一。所以字数统计程序属于MR2应用程序,负责运行此mapreduce frmework。

答案 1 :(得分:0)

YARNMR2相关,但不相同。

MapReduce是一种计算方法,在Hadoop世界中,MapReduce也是Hadoop 1.0的同义词;在Hadoop 1.0中,MapReduce提供了资源管理和运行“MapReduce”(1.0)应用程序的执行框架

使用Hadoop 2.0,资源管理和执行框架被分成两个独立的实体YARN(又一个资源协商器),一个用于集群计算资源的通用资源管理系统,MapReduce 2.0(缩写)作为MR2)执行引擎。

  • MR2YARN申请
  • 您可以编写一个基于“MapReduce”(2.0)的应用程序,该应用程序将在YARN上运行
  • 如果您使用的是Hadoop 2.0群集并使用PigHive与默认执行引擎MR2,则它们将在MR2个应用程序上运行{ {1}}

Hadoop 2.0中这种拆分的部分原因是允许其他执行引擎,超出YARN;今天这还包括Apache MR2和Apache Tez,它们可以在Spark上运行。