MapReduce和Yarn之间的差异

Flo*_*wra 2 hadoop mapreduce speculative-execution hadoop-yarn

我正在搜索关于落后问题的hadoop和mapreduce以及这个问题的论文
但是昨天我发现有纱线的hadoop 2,
遗憾的是没有纸张谈论纱线中的拖拉机问题
所以我想知道什么是区别部分落后者中的MapReduce和Yarn?纱线是否存在落后问题?
当MRmaster向资源经理询问资源时,资源经理会为MRmaster提供所需的所有资源,还是根据集群计算能力?
非常感谢,,

小智 9

这是MapReduce 1.0和MapReduce 2.0(YARN)

MapReduce 1.0

在典型的Hadoop集群中,机架通过核心交换机互连.核心交换机应连接到架顶式交换机使用Hadoop的企业应考虑使用10GbE,绑定以太网和冗余架顶式交换机来降低发生故障时的风险.默认情况下,文件分为64MB块,并分布在数据节点上.每个块的默认复制因子为3,这意味着在任何给定时间将有3个数据副本.Hadoop是"Rack Aware",HDFS在不同机架上的节点上复制了块.JobTracker根据节点的位置将任务分配给最接近数据的节点,并帮助NameNode 在读取期间确定客户端的"最近"块.管理员提供一个脚本,告诉Hadoop节点所在的机架,例如:/enteredatacenter/rack2.

MapReduce 1.0的局限性 - Hadoop最多可扩展到4,000个节点.当它超过该限制时,会引发不可预测的行为,例如级联故障和整个集群的严重恶化.另一个问题是多租户 - 在Hadoop集群上运行除MapReduce 1.0之外的其他框架是不可能的.

MapReduce 2.0

MapReduce 2.0有两个组件 - 具有集群资源管理功能的YARN和MapReduce.

在MapReduce 2.0中,JobTracker分为三个服务:

  1. ResourceManager,一种持久的YARN服务,用于在集群上接收和运行应用程序.MapReduce作业是一个应用程序.
  2. JobHistoryServer,提供有关已完成作业的信息
  3. Application Master,用于管理每个MapReduce作业,并在作业完成时终止.

TaskTracker已被NodeManager取代,NodeManager是一个管理节点上资源和部署的YARN服务.NodeManager负责启动可以是map或reduce任务的容器.

这种新架构通过允许新的ResourceManager管理跨应用程序的资源使用来打破JobTracker模型,ApplicationMasters负责管理作业的执行.此更改消除了瓶颈,并允许Hadoop集群扩展到比4000个节点更大的配置.该架构还允许同时执行各种编程模型,如图形处理,迭代处理,机器学习和一般集群计算,包括传统的MapReduce.


Whi*_*haq 4

你说“MapReduce 和 YARN 之间的差异”。MapReduce 和 YARN 绝对不同。MapReduce是编程模型,YARN是分布式集群的架构。Hadoop 2 使用 YARN 进行资源管理。除此之外,hadoop支持并行处理的编程模型,我们称之为MapReduce。在hadoop 2之前,hadoop已经支持MapReduce。简而言之,MapReduce 运行在 YARN 架构之上。抱歉,我没有提到掉队问题的一部分。

“当MRmaster向资源管理器索要资源时?” 当用户提交 MapReduce 作业时。MapReduce 作业完成后,资源将恢复空闲。

“资源管理器将向MRmaster提供其所需的所有资源,或者根据集群计算能力”我不明白这个问题点。显然,无论集群计算能力如何,资源管理器都会提供其所需的所有资源。集群计算能力会影响处理时间。