2025年yarn提交任务命令(yarn中的任务有)

yarn提交任务命令(yarn中的任务有)当一个 MR 应用提交运行到 Hadoop YARN 上时 包含两个部分 应用管理者 AppMaster 和运行应用进程 Process 如 MapReduce 程序 MapTask 和 ReduceTask 任务 如下图所示 当一个 Spark 应用提交运行在集群上时 应用架构有两部分组成 Driver Program 资源申请和调度 Job 执行 和 Executors 运行 Job 中 Task 任务和缓存数据 都是 JVM

大家好,我是讯享网,很高兴认识大家。



当一个MR应用提交运行到Hadoop YARN上时,包含两个部分:应用管理者AppMaster和运行应用进程Process(如MapReduce程序MapTask和ReduceTask任务),如下图所示:

当一个Spark应用提交运行在集群上时,应用架构有两部分组成:Driver Program(资源申请和调度Job执行)和Executors(运行Job中Task任务和缓存数据),都是JVM Process进程:

而Driver程序运行的位置可以通过–deploy-mode 来指定,值可以是:

1.client:表示Driver运行在提交应用的Client上(默认)

2.cluster:表示Driver运行在集群中(Standalone:Worker,YARN:NodeManager)

Spark On Yarn两种模式的任务提交流程

DeployMode为Client,表示应用Driver Program运行在提交应用Client主机上,示意图如下:

运行圆周率PI程序,采用client模式,命令如下:

http://node1:8088/cluster

DeployMode为Cluster,表示应用Driver Program运行在集群从节点某台机器上,示意图如下:

运行圆周率PI程序,采用cluster模式,命令如下:


讯享网

结果查看:http://node1:8088/cluster

进入8088yarn应用目录

Client模式和Cluster模式最最本质的区别是:Driver程序运行在哪里。

Client模式:学习测试时使用,开发不用,了解即可

  1.Driver运行在Client上,和集群的通信成本高

  2.Driver输出结果会在客户端显示

Cluster模式:生产环境中使用该模式

  1.Driver程序在YARN集群中,和集群的通信成本低

  2.Driver输出结果不能在客户端显示

  3.该模式下Driver运行ApplicattionMaster这个节点上,由Yarn管理,如果出现问题,yarn会重启ApplicattionMaster(Driver)

在YARN Client模式下,Driver在任务提交的本地机器上运行,示意图如下:

具体流程步骤如下:

1)、Driver在任务提交的本地机器上运行,Driver启动后会和ResourceManager通讯申请启动ApplicationMaster;

2)、随后ResourceManager分配Container,在合适的NodeManager上启动ApplicationMaster,此时的ApplicationMaster的功能相当于一个ExecutorLaucher,只负责向ResourceManager申请Executor内存;

3)、ResourceManager接到ApplicationMaster的资源申请后会分配Container,然后ApplicationMaster在资源分配指定的NodeManager上启动Executor进程;

4)、Executor进程启动后会向Driver反向注册,Executor全部注册完成后Driver开始执行main函数;

5)、之后执行到Action算子时,触发一个Job,并根据宽依赖开始划分Stage,每个Stage生成对应的TaskSet,之后将Task分发到各个Executor上执行。

在YARN Cluster模式下,Driver运行在NodeManager Contanier中,此时Driver与AppMaster合为一体,示意图如下:

 具体流程步骤如下:

1)、任务提交后会和ResourceManager通讯申请启动ApplicationMaster;

2)、随后ResourceManager分配Container,在合适的NodeManager上启动ApplicationMaster,此时的ApplicationMaster就是Driver;

3)、Driver启动后向ResourceManager申请Executor内存,ResourceManager接到ApplicationMaster的资源申请后会分配Container,然后在合适的NodeManager上启动Executor进程;

4)、Executor进程启动后会向Driver反向注册;

5)、Executor全部注册完成后Driver开始执行main函数,之后执行到Action算子时,触发一个job,并根据宽依赖开始划分stage,每个stage生成对应的taskSet,之后将task分发到各个Executor上执行;

小讯
上一篇 2025-05-13 13:45
下一篇 2025-06-10 22:44

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/151514.html