4

我对 Hadoop-2.x 中 tasktracker 的位置有点困惑。

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呢?

4

9 回答 9

6

在 YARN(Hadoop 2 中的新执行框架)中,MapReduce 不像以前那样存在。

YARN 是一种更通用的在集群上分配资源的方式。ResourceManager、ApplicationMaster 和 NodeManager 现在由新的 YARN 执行框架组成。NodeManager 是每个节点上的守护进程,所以我猜你可以说它取代了 TaskTracker。但现在它只是给出了流程,而不仅仅是 map 任务和 reduce 任务。

MapReduce 仍然存在,但它现在是 YARN 的“应用程序”。

下面是对 YARN 的介绍,它将更深入:http ://hortonworks.com/blog/introducing-apache-hadoop-yarn/

于 2014-01-22T13:00:47.767 回答
6

是的,Jobtracker 被拆分为资源管理器和应用程序主控器。应用程序主节点根据提交的作业数量在一个或所有节点管理器实例上运行。因此,当提交作业时,资源管理器与其中一个空闲节点管理器对话以充当应用程序主控器,该应用程序主控器现在将成为作业跟踪器,其他节点管理器将成为它们执行 Yarn 子的任务跟踪器。如我错了请纠正我。

于 2014-01-22T13:48:37.930 回答
2

阅读上面的链接后我得到的是

YARN 通过拆分 Job Tracker 的功能来处理经典 MR 的缺点

JobTracker 在 1.x 中的功能,即资源管理和作业调度/监控被分成单独的守护进程。- 全局 ResourceManager (RM) 和每个应用程序 ApplicationMaster (AM)

ResourceManager - 在 NameNode 即主端运行

  • 它在所有应用程序中分配资源

    它有 2 个主要组件:Scheduler 和 ApplicationsManager。

  • 调度器是纯调度器
  • ApplicationsManager 负责接受工作提交

NodeManager - 在 DataNode 即从端运行

  • 是每台机器的框架代理
  • 它负责容器,监控它们的资源使用情况(cpu、内存、磁盘、网络)并将其报告给 ResourceManager/Scheduler。

Central ResourceManager 和 Node specific Manager 一起称为 YARN

于 2015-07-03T16:52:12.570 回答
1

任务跟踪器在Hadoop YARN架构中分为三个组件:资源管理器、应用程序管理器和应用程序主控器

YARN 的基本思想是将资源管理和作业调度/监控的功能拆分为单独的守护进程。这个想法是拥有一个全局ResourceManager (RM) 和每个应用程序的 ApplicationMaster (AM)。应用程序可以是单个作业,也可以是作业的 DAG。

ResourceManager有  两个主要组件:  Scheduler 和ApplicationsManager

Scheduler 负责根据容量、队列等熟悉的限制将资源分配给各种正在运行的应用程序。调度程序是纯粹的调度程序,因为它不执行对应用程序状态的监视或跟踪。 

ApplicationsManager 负责接受作业提交,协商第一个容器以执行应用程序特定的 ApplicationMaster 并提供在失败时重新启动 ApplicationMaster 容器的服务。 

per-application ApplicationMaster负责从调度程序协商适当的资源容器,跟踪它们的状态并监控进度。 

看看文档链接

看看这个 SE question 了解更多细节。

Yarn 给现有的 map reduce 带来了哪些额外的好处?

于 2016-02-20T15:30:07.077 回答
0

是的,Jobtracker 被拆分为资源管理器和应用程序主控器。应用程序主节点根据提交的作业数量在一个或所有节点管理器实例上运行。因此,当提交作业时,资源管理器与其中一个空闲节点管理器对话以充当应用程序主控器,该应用程序主控器现在将成为作业跟踪器,其他节点管理器将成为它们执行 Yarn 子的任务跟踪器。在这里找到详细信息:http: //ercoppa.github.io/HadoopInternals/HadoopArchitectureOverview.html

于 2016-03-04T03:34:47.567 回答
0

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

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

于 2017-07-17T11:54:46.803 回答
0

只需记住以下比较 Job Tracker = Resource Manager(应用程序管理器,称为容器 0)+ 调度器(FIFO,公平调度器和容量调度器)

Tasktracker = 节点管理器

最初在 HDPv1 1 中提交作业时。作业跟踪器负责计算作业的映射器和缩减器,监控死/活任务跟踪器,如果它们失败则重新生成映射器和缩减器。

现在在 HDPv2 中,当我们提交作业时

资源管理器 java 进程(同一个 java 进程充当调度器)首先在任意节点(也称为容器 0)上生成应用程序管理器,然后应用程序管理器读取作业代码并计算该作业所需的资源并向调度器请求资源(它还监视作业队列有多少资源)。调度程序计算并将节点的名称提供给 AM,它可以在其中生成容器。然后 AM 在这些节点上生成容器并监控它们。如果任何容器死亡,AM 会再次进入调度程序并协商更多资源。因此 jobtracker 的工作在 AM 和 YARN 的调度器之间分配。另请注意,每个提交的作业都会有一个新的 AM,因此可以运行多个 AM,但集群上只有一个调度程序。

于 2016-08-19T00:20:57.267 回答
0

namenode、datanode、resourcemanager、applicationmaster

您错过了上面列表中 Hadoop-2.x 中的另一个守护进程,即 NodeManager。这个守护进程在单独的节点上运行,比如 tasktracker。启动时,该组件向 RM 注册并发送有关节点上可用资源的信息。随后的 NM-RM 通信是提供容器状态的更新——节点上运行的新容器、已完成的容器等。

所以这就是发生的事情。RM 将资源分配给作业。其中一个分配的节点充当 applicationmaster 并与其他节点通信。简单来说,现在您可以认为应用程序主节点是 jobtracker,而所有其他节点都是 tasktracker 节点。RM 可以免费为其他用户提供更多工作。现在这就是 MR v2 的美妙之处,您可以在同一个集群上运行多个 MR 作业以及其他应用程序(如 Spark 作业)。ResourceManage 负责管理集群并为作业旋转分配资源或节点,其中一个分配的节点成为应用程序主节点。

沙赫扎德

于 2016-07-06T05:13:01.793 回答
0
         Hadoop 1                                      Hadoop 2
1,it is mapreduce1                                  1,it is yarn mapreduce
2, here it has job tracker,                         2,here it has resource manager  
task tracker                                        ,node manager
3,it can send another task tracker                  3,it can send resource manager
                                                     ,timeline server  which  
                                                         stores applicationhistory                                                                                              
于 2016-10-26T07:22:47.303 回答