我对tasktracker在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
?
9条答案
按热度按时间jtoj6r0c1#
在yarn(hadoop2中的新执行框架)中,mapreduce不像以前那样存在。
yarn是在集群上分配资源的一种更通用的方法。resourcemanager、applicationmaster和nodemanager现在由新的yarn执行框架组成。nodemanager是每个节点上的守护进程,所以我猜你可以说它取代了tasktracker。但现在它只是给出了流程,而不是仅仅Map任务和减少任务。
mapreduce仍然存在,但它现在是Yarn的“应用程序”。
以下是Yarn的介绍,将更深入:http://hortonworks.com/blog/introducing-apache-hadoop-yarn/
k5hmc34c2#
在hadoopv2中,它们使用yarn框架来替换旧版本。yarn有一个中央资源管理器组件,用于管理资源并将资源分配给应用程序。多个应用程序可以通过yarn在hadoop上运行,所有应用程序可以共享公共资源管理。
http://saphanatutorial.com/how-yarn-overcomes-mapreduce-limitations-in-hadoop-2-0/
z6psavjg3#
是的,jobtracker被分为资源管理器和应用程序主机。应用程序主应用程序根据提交的作业数在一个或所有节点管理器示例上运行。因此,当提交作业时,资源管理器与其中一个空闲节点管理器对话,以充当应用程序主节点,该应用程序主节点现在将成为作业跟踪器,而其他节点管理器将成为它们执行的任务跟踪器。请在此处查找详细信息:http://ercoppa.github.io/hadoopinternals/hadooparchitectureoverview.html
vsmadaxz4#
是的,jobtracker被分为资源管理器和应用程序主机。应用程序主应用程序根据提交的作业数在一个或所有节点管理器示例上运行。因此,当提交作业时,资源管理器与其中一个空闲节点管理器对话,以充当应用程序主节点,该应用程序主节点现在将成为作业跟踪器,而其他节点管理器将成为它们执行的任务跟踪器。如果我错了就纠正我。
zujrkrfu5#
qvsjd97n6#
在hadoopyarn体系结构中,任务跟踪器被分为三个组件:资源管理器、应用程序管理器和应用程序主控器。
基本思想 Yarn 是将资源管理和作业调度/监视的功能拆分为单独的守护进程。我们的想法是建立一个全球资源管理器(rm) 和每个应用程序 应用程序管理员(am)。应用程序可以是单个作业,也可以是多个作业。
这个 资源经理 有两个主要组成部分: 调度程序 和应用程序管理器。
这个
Scheduler
负责将资源分配给各种运行中的应用程序,这些应用程序受容量、队列等常见约束。调度器是纯粹的调度器,因为它 不执行监视 或跟踪应用程序的状态。这个
ApplicationsManager
负责接受作业提交,协商用于执行特定于应用程序的第一个容器 applicationmaster并提供在出现故障时重新启动applicationmaster容器的服务。这个
per-application ApplicationMaster
负责与调度程序协商合适的资源容器,跟踪其状态并监控进度。看看文档链接
更多细节请看这个问题。
Yarn给现有Map带来了哪些额外的好处?
ffdz8vbo7#
请记住下面的比较job tracker=resource manager(application manager,称为container 0)+scheduler(fifo、fair scheduler和capacity scheduler)
tasktracker=节点管理器
最初在hdpv1中提交作业时。作业跟踪器负责计算作业的Map器和还原器,监视死/活任务跟踪器,如果Map器和还原器失败,则重新生成它们。
现在在hdpv2中,当我们提交作业时
资源管理器java进程(与调度程序相同的java进程)首先在任何节点(也称为容器0)上生成应用程序管理器,然后应用程序管理器读取作业代码并计算该作业所需的资源,并向调度程序请求资源(调度程序还监视作业队列有多少资源)。调度器计算并将节点的名称提供给am,以便生成容器。然后am在这些节点上生成容器并监视它们。在任何容器死亡的情况下,am会再次前往调度程序并协商更多的资源。因此,作业跟踪器的工作分为am和Yarn调度程序。另外请注意,每个提交的作业将有一个新的am,因此可以有多个am运行,但集群上只有一个调度程序。am在节点管理器上生成,调度程序在rm节点上启动。
uqdfh47h8#
我看了上面的链接后得到的是
Yarn通过拆分作业跟踪器的功能来处理经典mr的缺点
jobtracker在1.x中的功能,即资源管理和作业调度/监视被划分为单独的守护进程。-全局资源管理器(rm)和每个应用程序applicationmaster(am)
resourcemanager-在namenode运行,即主端
它在所有应用程序之间分配资源
它有两个主要组件:调度器和应用程序管理器。
调度程序是纯调度程序
ApplicationManager负责接受作业提交
nodemanager—在数据节点(即从节点)上运行
是每台机器的框架代理
它负责容器,监视它们的资源使用情况(cpu、内存、磁盘、网络),并将这些情况报告给resourcemanager/scheduler。
中央资源管理器和特定于节点的管理器一起称为yarn
5m1hhzi49#
namenode、datanode、resourcemanager、applicationmaster
您错过了上面列表中hadoop-2.x中的另一个守护进程nodemanager。这个守护进程在各个节点上运行,比如tasktracker。在启动时,该组件向rm注册,并发送有关节点上可用资源的信息。随后的nm rm通信将提供容器状态的更新—节点上运行的新容器、已完成的容器等。
所以发生了这样的事情。rm为作业分配资源。其中一个分配的节点的行为类似于applicationmaster,并与其他节点通信。简单地说,现在您可以将应用程序主节点视为jobtracker,所有其他节点都是tasktraker节点。rm可以免费为其他用户提供更多作业。现在,mrv2的妙处在于,您可以在同一集群上运行多个mr作业以及其他应用程序,如spark作业。resourcemanage负责管理集群,并为作业分配资源或节点,其中一个已分配的节点成为应用程序主节点。
沙赫扎德