mapreduce工作中的应用程序主数量?和YARN中的mapreduce处理步骤

时间:2016-06-17 03:23:48

标签: hadoop mapreduce yarn

我知道hadoop集群中只有资源管理器。 根据我的理解,群集中应该只有一个Application Master。是对的吗?以下是我对如何在YARN中运行mapreduce作业的理解。如果我的理解不正确,请更正。

YARN上的应用程序执行顺序:

  1. 客户端将作业提交给资源管理器(RM)。 RM在主节点上运行。群集中只有一个RM来管理资源。资源管理器是一个守护进程。
  2. RM将通过名称节点转到HDFS。
  3. RM旋转应用程序主服务器(AM)。 AM将通过名称节点到达HDFS。它将创建一个映射器矩阵。这是映射器阶段。就像块1在名称节点5或6上可用一样。
  4. 基于Mapper矩阵信息,AM向各个节点管理器(NM)发送请求,以便为每个块运行特定任务。 NM在从节点上运行。
  5. 每个NM向RM发送请求以获取容器。容器使用受限制的资源集(内存,CPU等)执行特定于应用程序的进程。
  6. Mapper任务在容器中运行,并将心跳发送到Application master。 AM还将心跳发送给RM。
  7. 完成所有过程后,AM启动另一个用于Reducer任务的矩阵。
  8. 完成所有reducer任务后,AM会将结果发送给RM。
  9. RM让客户知道结果并杀死AM。 应用程序大师可能会卡住。这就是为什么它将心跳发送到资源管理器
  10. 非常感谢 纳特

1 个答案:

答案 0 :(得分:0)

其他步骤看起来很好。

  
      
  1. RM旋转应用程序主文件 (AM)。 AM将通过名称节点到达HDFS。它将创建一个映射器矩阵。这是映射器阶段。就像块1在名称节点5或6上可用一样。
  2.   

这里稍作修正。 AM只能在任何给定容器内执行。因此,首先RM请求某个节点上的节点管理器启动容器,然后只有AM才能在该cotainer中启动,而不是之前。因此,将有一个专用于AM的容器。