spark2.11-2.3源码阶段总结

1.构建Spark Application的运行环境(启动SparkContext),SparkContext向资源管理器(可以是Standalone、Mesos或YARN)注册并申请运行Executor资源;
2.资源管理器分配Executor资源并启动StandaloneExecutorBackend,Executor运行情况将随着心跳发送到资源管理器上;
3.SparkContext构建成DAG图,将DAG图分解成Stage,并把Taskset发送给Task Scheduler。Executor向SparkContext申请Task,Task Scheduler将Task发放给Executor运行同时SparkContext将应用程序代码发放给Executor。
4.Task在Executor上运行,运行完毕释放所有资源。

提交spark应用程序

1:初始化sparkContext
(1)、createTaskScheduler
第一步创建TaskSchedulerImpl
第二步创建需要的SchedulerBackend
第三步scheduler初始化scheduler.initialize
(2)、new DAGScheduler
(3)、创建SparkUI
2:Master主备切换,注册,状态改变
Active Master挂掉切换到Standby Master,(主Master挂掉,备用的Master切换为主Master),然后新的Master进行注册其他。

(1)备用Master启动:completeRecovery中removerWorker和finishApplication方法,一是清理出故障或者甚至已经死掉的worker,二是清理出故障或者甚至已经死掉的Application;更新等待中的application状态,清理不属于任何worker的driver,最后调度schedule()。
(2)创建ApplicationInfo,注册Application,将ApplicationInfo进行持久化,向driver发送RegisteredApplication消息。
(3)移除driver,移除execuster,移除application。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值