跳到主要内容

简述Yarn作业执行流程 ?

参考答案:

Yarn作业执行流程主要包括以下步骤:

  1. 客户端提交任务:首先,客户端(如MapReduce作业客户端、Spark客户端等)将计算任务提交给ResourceManager。这些任务可以是各种类型,例如MR任务、Spark任务或Flink任务。
  2. ResourceManager校验任务并创建AppMaster进程:ResourceManager在接收到任务后,会检查任务的合法性。一旦任务被验证为合法,ResourceManager会在一台NodeManager节点上创建AppMaster进程。AppMaster进程负责协调任务的执行。
  3. AppMaster与ResourceManager建立心跳机制并获取任务信息:AppMaster进程创建成功后,会与ResourceManager建立心跳机制。通过心跳包,AppMaster获取要执行的计算任务的具体信息,并计算执行该任务所需的资源。
  4. AppMaster申请资源:根据计算出的资源需求,AppMaster会向ResourceManager申请相应的资源。
  5. ResourceManager分配资源并创建Container:ResourceManager在接收到AppMaster的资源请求后,会根据集群的当前状态和配置策略,动态决定分配给任务的资源数量。然后,ResourceManager会在一些NodeManager节点上创建Container资源容器,这些容器将用于执行计算任务。
  6. AppMaster连接NodeManager并找到Container:AppMaster会与NodeManager建立连接,并找到为其任务分配的Container资源容器。
  7. 在Container中执行任务:最后,AppMaster会利用找到的Container资源容器来启动和执行提交的计算任务。

整个流程中,ResourceManager、NodeManager和AppMaster协同工作,确保任务能够顺利地在集群中执行,并有效地利用集群资源。