什么是Hadoop上的ApplicationMaster节点?

时间:2016-01-20 10:49:30

标签: hadoop

首先,我看到我的正在运行的作业由1个应用程序主节点处理,该节点不是主节点(不同的IP地址)。因此我认为我的工作仅由1个节点处理。但是当我检查映射器作业的处理位置时,它们实际上是由其他从属节点处理的。

我有点困惑,因为我认为主节点也将是应用程序主机,谁将处理作业管理。但在这种情况下它不是。

有人可以帮助我理解为什么我的工作的当前管理由一个从属节点(称为应用程序主节点)处理,而不是由我的主节点处理?

另一个问题是hadoop中的主节点被视为单点故障,但是当我们有一个辅助节点时,它会没问题。对于应用程序主节点情况,它是否也应被视为单点故障?因为从属节点是关闭的,所以我不会理解它。

非常感谢。

2 个答案:

答案 0 :(得分:2)

Hadoop2使用两级架构:

  1. RM为每个作业安排资源,RM将管理每个作业。
  2. Application Master为单个作业应用资源,并为作业的任务计划应用资源。不同的作业将使用不同类型的Application Master,例如MapReduceAM,SparkAM
  3. 对于MapReduce作业,如果作业的MapReduceAM失败,YARN将为作业失败三次启动一个新的MapReduceAM。

    可以在Hadoop wiki上看到更多细节

答案 1 :(得分:1)

Application Master不是与主节点或从节点具有相同意义的节点 - 它不代表群集中的计算机。 Application Master是用于管理特定应用程序的YARN流程。这些通常在从节点上运行。但是,它不是一个单一的故障点,因为它不是一台机器而是一个过程。如果Application Master失败,YARN将启动一个新的Application Master。