spark yarn 提交_Spark集群和任务执行

537d9b8d278cab5e4527833653c7a0c9.png
Spark集群和任务执行​mp.weixin.qq.com
a2c72184ac39e7ce680ac85330777a9c.png

【前言:承接《Spark通识》篇】

Spark集群组件

f2cc771e46c702cee9494ce20f821c70.png

Spark是典型的Master/Slave架构,集群主要包括以下4个组件:Driver:Spark框架中的驱动器,运行用户编写Application 的main()函数。类比于MapReduce的MRAppmasterMaster:主节点,控制整个集群,监控worker。在Yarn模式中为全局资源管理器Worker:从节点,负责控制计算节点,启动Executor。类比Yarn中的节点资源管理器Executor:运算任务执行器,运行在worker节点上的一个进程。类似于MapReduce中的MapTask和ReduceTask

Spark基本执行流程

以StandAlone运行模式为例:

44e315e1c0e42c3a1b1e24edef70f606.png

1.客户端启动应用程序及Driver相关工作,向Master提交任务申请资源

2.Master给Worker分配资源,通知worker启动executor

3.Worker启动Executor,Worker创建ExecutorRunner线程,ExecutorRunner会启动ExecutorBackend进程,Executor和Driver进行通信(任务分发监听等)

4.ExecutorBackend启动后向Driver的SchedulerBackend注册,SchedulerBackend将任务提交到Executor上运行5.所有Stage都完成后作业结束

笔者强调:

1.Driver端进行的操作

1)SparkContext构建DAG图

2)DAGScheduler将任务划分为stage、为需要处理的分区生成TaskSet

3)TaskScheduler进行task下发

4)SchedulerBackend将任务提交到Executor上运行

2.资源划分的一般规则

1)获取所有worker上的资源

2)按照资源大小进行排序

3)按照排序后的顺序拿取资源

a.轮询

b.优先拿资源多的

3.Spark不同运行模式任务调度器是不同的,如Yarn模式:yarn-cluster模式为YarnClusterScheduler,yarn-client模式为YarnClientClusterScheduler

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值