SparkContext初始化

创建监听总线

SparkContext中首先对SparkConf进行克隆

然后对克隆的SparkConf的配置进行检测,检测非法或废弃的配置信息,将弃用的配置信息转换成支持的配置信息


然后判断SparkConf中是否设置了master和app name,master用于设置部署模式,app name用于指定应用程序名称(很重要)

 

目录

获取hadoop配置信息​

 


获取Executor内存环境变量

注册HeartbeatReceiver心跳接收器

在 Spark 的实际生产环境中,Executor 是运行在不同的节点上的。在 local 模式下的 Driver 与 Executor 属于同一个进程,所以 Dirver 与 Executor 可以直接使用本地调用交互,当 Executor 运行出现问题时,Driver 可以很方便地知道,例如,通过捕获异常。但是在生产环境下,Driver 与 Executor 很可能不在同一个进程内,他们也许运行在不同的机器上,甚至在不同的机房里,因此 Driver 对 Executor 失去掌握。为了能够掌控 Executor,在 Driver 中创建了这个心跳接收器。

3.7创建任务调度器TaskScheduler

低级调度器接口,当前被org.apache.spark.scheduler.TaskSchedulerImpl唯一实现。
为一个SparkContext调度任务。
从DAGScheduler接受不同Stage的任务。
TaskScheduler负责发送这些任务到cluster,运行它们,如果失败则重试。
返回events给DAGScheduler


createTaskScheduler方法根据master进行模式匹配,创建TaskSchedulerImpl,并生成不同的SchedulerBackend。

ddddd

猜你喜欢

转载自blog.csdn.net/qq_29573903/article/details/82946390