spark-yarn提交任务

1、Yarn模式两种提交任务方式

1.yarn-client:用于测试,driver运行在本地客户端,负责调整application,会与yarn集群产生大量网络通信,网卡流量过大,导致网络阻塞i,可能会导致任务失败,好处为执行时,本地可以看到所有log。
2.yarn-cluster:用于生产环境,因为driver运行在NM上,没有网卡流量问题,但log会分散在每个节点上,只能通过yarn app logs命令查看。
在这里插入图片描述 提交方式对比

1.1、yarn-client提交任务方式

提交命令

>bin/spark-submit \
--master yarn \
 --class org.apache.spark.examples.SparkPi \
examples/jars/spark-examples_2.11-2.3.3.jar \
100

>bin/spark-submit \
--master yarn–client \
 --class org.apache.spark.examples.SparkPi \
examples/jars/spark-examples_2.11-2.3.3.jar \
100

>bin/spark-submit \
--master yarn \
--deploy-mode  client \
 --class org.apache.spark.examples.SparkPi \
examples/jars/spark-examples_2.11-2.3.3.jar \
100

1.1.1 yarn-client执行流程

1.客户端提交一个application,在客户端启动一个driver进程
2.客户端向ResourceManager发送请求,启动一个ApplicationMaster
3.RS收到请求,会随机选择一台NM分配container启动AM
4.AM启动后,会像RS申请一批container,用于启动Executor
5.AM连接其他NM启动Executor
6.Excutor启动后,会反向注册给Driver
7.Driver发送task到Excutor,并返回执行情况和结果到Driver端

1.2、yarn-cluster提交任务方式

>bin/spark-submit \
--master yarn \
--deploy-mode cluster \
--class org.apache.spark.examples.SparkPi \
examples/jars/spark-examples_2.11-2.3.3.jar \
100

bin/spark-submit \
--master yarn-cluster \
--class org.apache.spark.examples.SparkPi \
examples/jars/spark-examples_2.11-2.3.3.jar \
100

1.2.1 yarn-cluster执行流程

1.客户机提交Application应用程序,发送请求到RS(ResourceManager),请求启动AM(ApplicationMaster)。
2.RS收到请求后随机在一台NM(NodeManager)上启动AM(相当于Driver端)。
AM启动,AM发送请求到RS,请求一批container用于启动Executor。
3.RS返回一批NM节点给AM。
4.AM连接到NM,发送请求到NM启动Executor。
5.Executor反向注册到AM所在的节点的Driver。Driver发送task到Executor。

1.3、ApplicationMaster作用

  1. 初始化向ResourceManager报告自己的活跃信息的进程

  2. 计算应用程序的的资源需求。

  3. 将需求转换为YARN调度器可以理解的ResourceRequest。

  4. 与调度器协商申请资源

  5. 与NodeManager协同合作使用分配的Container。

  6. 跟踪正在运行的Container状态,监控它的运行。

  7. 对Container或者节点失败的情况进行处理,在必要的情况下重新申请资源。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值