Hadoop 纱线为现有地图带来了哪些额外好处?

Hadoop 纱线为现有地图带来了哪些额外好处?,hadoop,mapreduce,yarn,Hadoop,Mapreduce,Yarn,纱线的基础结构层与原始map reduce体系结构的不同之处如下: 在YARN中,作业跟踪器分为两个不同的守护进程,分别称为资源管理器和节点管理器(特定于节点)。除了包含调度器之外,资源管理器仅管理对不同作业的资源分配,调度器仅负责调度作业,而不担心任何监视或状态更新。不同的资源(如内存、cpu时间、网络带宽等)放入一个称为资源容器的单元中。在不同的节点上运行不同的AppMasters,这些节点与许多资源容器通信,并相应地使用监视/状态详细信息更新节点管理器 我想知道,从map-reduce的角

纱线的基础结构层与原始map reduce体系结构的不同之处如下:

在YARN中,作业跟踪器分为两个不同的守护进程,分别称为
资源管理器
节点管理器
(特定于节点)。除了包含调度器之外,资源管理器仅管理对不同作业的资源分配,调度器仅负责调度作业,而不担心任何监视或状态更新。不同的资源(如内存、cpu时间、网络带宽等)放入一个称为
资源容器的单元中。在不同的节点上运行不同的
AppMasters
,这些节点与许多资源容器通信,并相应地使用监视/状态详细信息更新节点管理器


我想知道,从map-reduce的角度来看,使用这种方法如何提高性能?此外,如果有任何关于纱线背后的动机及其相对于现有Map reduce实现的好处的明确内容,请向我指出相同的内容。

看起来此链接可能就是您所寻找的:


我的理解是,纱线应该更通用。您可以创建自己的纱线应用程序,直接与resources Manager for resources()协商,MapReduce只是已经存在的几个应用程序管理器之一()。

以下是一些关于纱线的文章(,)。这些讨论了使用纱线的好处

纱线比MR更通用,应该可以运行其他计算模型,比如除了MR。在纱线之前,它需要MR、BSP和其他单独的集群。现在,它们可以在单个集群中共存,从而提高集群的使用率。有些应用被移植到纱线上

从传统MR中的MapReduce角度来看,Map和Reduce任务有单独的插槽,但在这些插槽中,容器并没有固定的用途。同一容器可用于映射任务、Reduce任务、Hama BSP任务或其他任务。这将导致更好的利用率

此外,它还使在同一集群中运行不同版本的Hadoop成为可能,这在遗留MR中是不可能的,这使得从维护角度来看很容易

是纱线的一些附加链接。此外,还有一个专门用于纱线的完整部分


仅供参考,开发Thread而不是使用一些框架是有点困难的,这些框架已经做了类似的事情,并且已经成功运行了很长时间,并消除了bug。

我认为Thread不会加速现有的MR框架。从体系结构上看,我们可以看到系统现在更加模块化,但模块化通常与更高的性能相矛盾
可以说,纱线与MapReduce无关。MapReduce刚刚成为应用程序之一。您可以将其视为从某个嵌入式程序移动到其中包含程序的嵌入式操作系统
同时,纱线为不同框架的不同的MR实现打开了大门。例如,如果我们假设数据集更小,那么集群内存就可以获得更好的性能。我认为就是这样一个例子

总而言之:纱线不会改进现有的MR,但会使其他MR实现在所有方面都更好

以上所有答案涵盖了大量信息:我将所有信息简化如下:

MapReduce: YARN: 1. It is Platform plus Application It is a Platform in Hadoop 2.0 and in Hadoop 1. 0 and it is only of doesn't exist in Hadoop 1.0 the applications in Hadoop 2.0 2. It is single use system i.e., It is multi purpose system, We can run We can run MapReduce jobs only. MapReduce, Spark, Tez, Flink, BSP, MPP, MPI, Giraph etc... (General Purpose) 3. JobTracker scalability i.e., Both Resource Management and Both Resource Management and Application Management gets separated & Job Management managed by RM+NM, Paradigm specific AMs respectively. 4. Poor Resource Management Flexible Resource Management i.e., system i.e., slots (map/reduce) containers. 5. It is not highly available High availability and reliability. 6. Scaled out up to 5000 nodes Scaled out 10000 plus nodes. 7. Job->tasks Application -> DAG of Jobs -> tasks 8. Classical MapReduce = MapReduce Yarn MapReduce = MapReduce API + API + MapReduce FrameWork MapReduce FrameWork + YARN System + MapReduce System So MR programs which were written over Hadoop 1.0 run over Yarn also with out changing a single line of code i.e., backward compatibility. MapReduce:纱线: 1.它是平台加应用程序,是Hadoop 2.0和 在Hadoop 1中。0,它只是Hadoop 1.0中不存在的 hadoop2.0中的应用 2.它是单用途系统,即多用途系统,我们可以运行 我们只能运行MapReduce作业。MapReduce、Spark、Tez、Flink、BSP、MPP、, MPI、Giraph等。。。(一般用途) 3.JobTracker可扩展性,即资源管理和 资源管理和应用程序管理都分离了& 由RM+NM、特定于范例的AMs管理的作业管理 分别地 4.资源管理不善灵活的资源管理,即:。, 系统,即插槽(映射/减少)容器。 5.它不是高可用性、高可用性和可靠性。 6.扩展到5000个节点扩展到10000多个节点。 7.作业->任务应用->作业DAG->任务 8.经典MapReduce=MapReduce纱线MapReduce=MapReduce API+ API+MapReduce框架MapReduce框架+纱线系统 +MapReduce系统让MR程序都写过了 Hadoop 1.0运行过的纱线也没有 更改单行代码,即。, 向后兼容性。
让我们看看Hadoop1.0的缺点,Hadoop2.0通过添加纱线解决了这些缺点

  • 可伸缩性问题:作业跟踪器在一台机器上运行,即使Hadoop集群中有数千个节点。工作跟踪器的职责:资源管理、工作和任务计划以及监控。由于所有这些进程都在单个节点上运行,因此此模型不可扩展
  • 可用性问题(单点故障):作业跟踪器是单点故障
  • 资源利用率:由于预定义的Map&Reduce任务槽数量,资源未得到正确利用。当所有映射器节点都忙时,Reducer节点处于空闲状态,无法用于处理映射器任务
  • 与Map Reduce框架的紧密集成:Hadoop 1.x只能运行Map Reduce作业。不支持Map Reduce作业以外的作业 现在是一份工作