我在YARN
和MR2
之间感到有点困惑。他们一样吗?我已经看到YARN
作为在一些文档中运行分布式应用程序的平台而MapReduce作为这样的分布式应用程序,这是什么意思?这是由程序员构建的MapReduce
应用程序(例如:wordcount
程序)吗?
我再次看到“编写自己的YARN
应用程序”,这是什么意思? wordcount程序属于哪个类别,YARN
应用程序或MR2
应用程序?
请更正问题,如果它不符合stackoverflow标准,我试图表达我的所有怀疑。
答案 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)
YARN
和MR2
相关,但不相同。
MapReduce
是一种计算方法,在Hadoop世界中,MapReduce
也是Hadoop 1.0的同义词;在Hadoop 1.0中,MapReduce
提供了资源管理和运行“MapReduce”(1.0)应用程序的执行框架
使用Hadoop 2.0,资源管理和执行框架被分成两个独立的实体YARN
(又一个资源协商器),一个用于集群计算资源的通用资源管理系统,MapReduce 2.0
(缩写)作为MR2
)执行引擎。
MR2
是YARN
申请YARN
上运行Pig
或Hive
与默认执行引擎MR2
,则它们将在MR2
个应用程序上运行{ {1}} Hadoop 2.0中这种拆分的部分原因是允许其他执行引擎,超出YARN
;今天这还包括Apache MR2
和Apache Tez
,它们可以在Spark
上运行。