Hadoop gen1 vs Hadoop gen2



我对hadoop-2.x中的任务跟踪的位置有些困惑。

hadoop-1.x 中的守护程序是 namenode, datanode, jobtracker, taskracker and secondarynamenode

hadoop-2.x 中的守护程序是 namenode, datanode, resourcemanager, applicationmaster, secondarynamenode.

这意味着Jobtracker has split up into: resourcemanager and applicationmaster

那么 tasktracker

在纱线中(Hadoop 2中的新执行框架),MapReduce并不以前的方式存在。

纱是在集群上分配资源的更通用方法。ResourceManager,ApplicationMaster和NodeManager现在由新的纱线执行框架组成。NodeManager是每个节点上的守护程序,所以我想您可以说这取代了TaskTracker。但是现在,它只是提供过程,而不仅仅是映射任务并减少任务。

MapReduce仍然存在,但现在是纱线的"应用"。

这是对纱线的简介,它将更深入:http://hortonworks.com/blog/introducing-apache-hadoop-yarn/phe/p>

<<div>

是的JobTracker被分为资源管理器和应用程序主。应用程序主根据提交的作业数量在一个或所有节点管理器实例上运行。因此,当作业提交时,资源经理会与一位自由节点经理人交谈,以充当应用程序主体,而该应用程序主体现在将成为工作跟踪器,而其他节点经理将成为他们执行Yarn Child的任务跟踪器。如果我错了。

纱线通过拆分工作跟踪器的功能来处理经典MR的缺陷

在1.x中的JobTracker的功能,即资源管理和作业计划/监视分为单独的守护程序。 -Global ResourceManager(RM)和Per-Application ApplicationMaster(AM)

ResourceManager-在Namenode跑步,即主侧

  • 它在所有应用中分发资源

    它有2个主要组件:调度程序和应用程序manager。

  • 调度程序是纯计划程序
  • applicationsmanager负责接受工作谋杀率

nodeManager-在数据台上运行
  • 是人均框架代理
  • 它负责容器,监视其资源使用情况(CPU,内存,磁盘,网络)并将其报告给ResourceManager/Scheduler。

中央资源管理器和节点特定管理器一起称为YARN

任务跟踪器已将 hadoop Yarn yarn 架构中的三个组件分为三个组件:资源管理器,应用程序管理器,应用程序管理器和应用程序Master

纱线的基本思想是将资源管理和工作计划/监控的功能分为单独的守护程序。这个想法是要有一个全局 resourcemanager(rm) per-application applicationmaster (am)。应用程序要么是一项工作或工作。

ResourceManager 有两个主要组件:调度程序 applicationsManager

Scheduler负责将资源分配给受熟悉的能力,队列限制的各种运行应用程序等。在某种意义上,调度程序是纯调度程序,因为它不执行应用程序状态的监视或跟踪。

ApplicationsManager负责接受工作 - 提取时间,协商第一个容器,以执行该应用程序特定的应用程序管理员,并提供用于在失败时重新启动ApplicationMaster容器的服务。

per-application ApplicationMaster有责任从调度程序中谈判适当的资源容器,跟踪其状态并监视进度。

看文档链接

请查看此SE问题以获取更多详细信息。

YARN带给现有地图还原的额外好处是什么?

是的JobTracker被分为资源管理器和应用程序主体。应用程序主根据提交的作业数量在一个或所有节点管理器实例上运行。因此,当作业提交时,资源经理会与一位自由节点经理人交谈,以充当应用程序主体,而该应用程序主体现在将成为工作跟踪器,而其他节点经理将成为他们执行Yarn Child的任务跟踪器。在此处查找详细信息:http://ercoppa.github.io/hadoopinternals/hadooparchitectureoverview.html

namenode,datanode,resourcemanager,applicationmaster

您错过了Hadoop-2.x中的另一个守护程序,即NodeManager。这个守护程序在诸如TaskTracker之类的单个节点上运行。在启动时,此组件注册RM并发送有关节点上可用资源的信息。随后的NM-RM通信将提供有关容器状态的更新 - 在节点上运行的新容器,完整的容器等。

所以这就是发生的事情。RM将资源分配给工作。分配的节点之一的作用像应用程序主机,并与其他节点进行通信。现在,简单的术语您可以考虑应用程序Master是JobTracker,而所有其他程序都是任务流动器节点。RM可以免费为其他用户提供更多工作。现在,这就是MR V2的美感,您可以运行多个MR Jobs以及其他应用程序(例如Spark Jobs)在同一集群上。ResourceManage负责管理集群的管理,并为作业分配资源或节点,而分配的节点之一成为应用程序主。

shahzad

请记住以下比较Job Tracker = Resource Manager(Application Manager,称为容器0) 调度程序(FIFO,公平调度程序和容量调度程序)

TaskTracker = Node Manager

最初在HDPV1中提交工作时1.工作跟踪器有责任计算映射器和还原器的工作,监视死亡/实时任务跟踪器,重新播放映射器和还原器(如果失败)。

现在在HDPV2中提交工作

资源经理Java Process(与调度程序相同的Java Process Act)首先在任何节点上衍生应用程序管理器(也称为容器0),然后应用程序管理器读取作业代码并计算该作业所需的资源并索取资源从调度程序(还监视乔布斯队的资源有多少资源)。调度程序计算并为节点的名称提供给AM可以产生容器的位置。然后AM在这些节点上产生容器并监视它们。如果任何容器死亡,则是AM,它再次转到调度程序并进行谈判以获取更多资源。因此,JobTracker的工作分为AM和纱的调度程序。另请注意,提交的每个作业都会有一个新的AM,因此可以在群集上运行多个AM,但只有一个调度程序。AM是在节点管理器上产生的,并且在RM节点上启动了调度程序。

在Hadoop V2中,他们使用纱线框架来替换旧版本。Yarn具有中央资源管理器组件,该组件管理资源并将资源分配给应用程序。可以通过纱线在Hadoop上运行多个应用程序,所有应用程序都可以共享共同的资源管理。

http://saphanatutorial.com/how-yarn-overcomes-mapreduce-limitations-in-hadoop-2-0/

相关内容

  • 没有找到相关文章

最新更新