Spark部署模式及任务运行模式与流程

Spark任务部署模式

Local Mode(本地模式):常用于本地开发和测试。
Standalone Mode(集群单机模式):Spark框架自带了完整的资源管理框架管理服务,不需要依赖其他系统提供资源管理调度服务。这种方式降低了和其他第三方资源框架的耦合性,但是Spark主要是作为计算框架,而不是资源调度框架。
YARN Mode(YARN模式):Spark On YARN模式。即将Spark作为客户端,将作业交于YARN运行;资源管理和调度依赖YARN,分布式存储依赖于HDFS。
Mesos Mode(Mesos模式):Mesos是一种资源调度框架。Spark On Mesos,是官方推荐的一种模式,Mesos负责调度Spark需要的各种资源。

任务运行模式与流程

Standalone

standalone-client

提交命令

./spark-submit \
--master spark://node1:端口号 \ # 指定master节点的地址及端口号
--deploy-mode client \ # 指定运行模式
-- executor-memory 1G \ # 指定每个executor可用内存大小为1G
--class xxx.jar \ # 指定需要运行的主类
10 # 设置当前应用的任务数

执行流程

  1. client模式提交后,会在客户端启动driver进程;
  2. driver会向Master申请启动Application启动的资源;
  3. Master收到请求后会在对应的Worker节点上启动Executor;
  4. Executor启动后,会注册给Driver端,Driver掌握一批计算资源;
  5. Driver端将task发送到Worker端执行。Worker将task执行结果返回到Driver端。
    Standalone-client运行流程图
standalone-cluster

提交命令

 ./spark-submit \
 --master spark://node1:端口号 \ # 指定master节点的地址及端口号
 --deploy-mode cluster\ # 指定运行模式
 -- executor-memory 1G \ # 指定每个executor可用内存大小为1G
 --class xxx.jar \ # 指定需要运行的主类
 10 # 设置当前应用的任务数

运行流程

  1. cluster模式提交应用后,向Master请求启动Driver;
  2. Master接受请求,随机在集群一台节点启动Driver进程;
  3. Driver启动后为当前应用程序申请资源;
  4. Driver端发送task到Worker节点上执行;
  5. Worker端将结果返回给Driver端。
    standalone-clustor流程图
    cluster与client模式的区别,cluster会在随机一台woker节点开启driver进程,客户端无法查看task的执行情况,可以很好的应对流量激增的问题。

Spark On YARN

YARN-client

提交命令

./spark-submit \
--master yarn \ # 指定master节点部署模式
--deploy-mode client \ # 指定运行模式
--class xxxx.jar \ # 指点运行jar包
100

执行流程

  1. 客户端提交一个application,在客户端启动一个Driver进程;
  2. 应用程序启动后回想ResourceManager发送请求,启动ApplicationMaster的资源;
  3. ResourceManager收到请求,随机启动一台WorkerNode启动ApplicationMaster;
  4. ApplicationMaster启动后,会向ResourceManager请求一批container资源,用于启动Executor;
  5. ResourceManager会找到一批NodeManager返回给ApplicationManager,用于启动Executor;
  6. ApplicationMaster会向Node Manager发送命令启动Executor;
  7. Executor启动后,反向注册给Driver,Driver发送task到Executor,执行情况和结果返回给Driver端。
    Spark On YARN client执行流程图

YARN-clustor

与client区别是driver随机启动在任意一台NM(与AM在一台机器)

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

难得将就

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值