前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Spark源码系列之Standalone模式下Spark应用的整个启动过程

Spark源码系列之Standalone模式下Spark应用的整个启动过程

作者头像
Spark学习技巧
发布2018-01-30 18:31:55
9790
发布2018-01-30 18:31:55
举报
文章被收录于专栏:Spark学习技巧Spark学习技巧

一,Standalone模式下的spark角色

大家都知道在Standalone模式下,spark一共有以下五种角色:

sparksubmit,master,Worker,Driver,Executor。具体这五种角色在我们提交应用的时候起到哪些作用呢,我们下面就来详细讲解

1,SparkSubmit

加载一个Spark应用程序的入口。这个类处理设置spark相关依赖的Classpath(足见其重要性),同时屏蔽了不同集群管理器和不同部署模式的细节,为用户提供统一接口。

2,Master

主要功能:

A),接受worker的注册并管理Worker

B),接受SparkSubmit提交的Application,并调度启动Driver(发送LaunchDriver给Worker)。

C),接受Driver端AppClient发送的RegisterApplication(appDescription,self),然后调度,发送LaunchExecutor消息给Worker。

3,Worker

A),向Master注册,并维持心跳。

B),接受Master的LaunchDriver消息,并启动Driver。

C),接受Master的LaunchExecutor消息,并启动Executor

4,Driver

A),通过AppClient向Master注册App,此时携带者CoraseGrainedExecutorBackend信息。

B),接受Executor注册,维护Executor信息。

C),划分Stage,封装task,并调度task。

5,Executor

A),向Driver注册自己并维护心跳

B),接受Driver的LaunchTask信息,并执行task。

C),将task执行结果返回给Driver。

二,Standalone提交一个应用源码过程

1,启动Driver的过程

Org.apache.spark.launcher.Main

org.apache.spark.deploy.SparkSubmit

org.apache.spark.deploy.rest.RestSubmissionClient

Org.apache.spark.deploy.rest.StandaloneRestServer

org.apache.spark.deploy.master.Master

Org.apache.spark.deploy.worker.Worker

Org.apache.spark.deploy.worker.DriverRunner

org.apache.spark.deploy.worker.DriverWrapper

用户自定义程序 ~~~

2,启动Executor的过程

org.apache.spark.SparkContext

Org.apache.spark.scheduler.cluster.SparkDeploySchedulerBackend

Org.apache.spark.deploy.client.AppClient

org.apache.spark.deploy.master.Master

Org.apache.spark.deploy.worker.Worker

Org.apache.spark.deploy.worker.ExecutorRunner

org.apache.spark.executor.CoarseGrainedExecutorBackend

org.apache.spark.executor.Executor

3,执行task的过程

org.apache.spark.scheduler.cluster.CoarseGrainedSchedulerBackend

org.apache.spark.executor.CoarseGrainedExecutorBackend

org.apache.spark.executor.Executor

org.apache.spark.executor.TaskRunner

三,结合具体流程图讲解

四,视频解说

第一次录制,图文解说视频,不足之处望大家谅解。也欢迎大家评论区里指出,浪尖加以修正,更好的服务于大家。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2017-08-01,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 浪尖聊大数据 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档