Spark高频面试题---Spark运行模式之Yarn模式详细分析

本文详细分析了Spark在Yarn模式下的两种运行方式——客户端模式和集群模式。客户端模式中,Driver运行在本地,适合交互和调试;而在集群模式下,Driver由ResourceManager启动的APPMaster运行,适用于生产环境。两种模式的主要区别在于Driver的运行位置及其与Executor的关系。

Spark有yarn-client和yarn-cluster两种模式,主要区别在于:Driver程序的运行节点。

yarn-client:Driver程序运行在客户端,适用于交互、调试,希望立即看到app的输出。

yarn-cluster:Driver程序运行在由ResourceManager启动的APPMaster适用于生产环境。

1)客户端模式(默认)

解释:

  • 左边是提交的submit,右边是yarn模式下,对应的resourcemanager和nodemanager;
  • 当提交任务的时候,会通过sparksubmit平台提交到客户端,Driver就在本机,会在driver中做三个操作:

       1.初始化代码

       2.初始化spark context,这是程序sparkcore程序的入口

       3.任务切分,类似于切片

  • 然后会启动ExecutorLauncher,ResourceManager就会在某一个节点上开启ExecutorLauncher.然后就会申请资源;
  • 申请之后,就会启动ExecutorBackend,在它里面去创建一个executor。有了executor之后,Driver在去给executor分配任务。

 

  • 注意:ExecutorLauncher是不执行任务的,执行任务的操作都是在executor中进行。

2)集群模式

 

 

详解:

  •   仍然是左边提交代码,右边是集群。
  •   提交代码到SparkSubmit,然后作为客户端,提交命令给RM;
  •   rm会把任务提交给集群上的一个ApplicationMaster,在节点上启动对应的Driver;
  •   Driver还是执行上面的三个步骤:

    1.初始化代码

    2.初始化spark context,这是程序sparkcore程序的入口

    3.任务切分,类似于切片

  •   然后Driver开始申请资源,开始干活,然后给申请到的Executor分配任务。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值