1. SparkContext 初始化 所需要的必要条件
> SparkEnv
> DAGScheduler
> TaskScheduler
> SchedulerBackend
>WebUI
SpackContext -> SparkConf ->SparkEnv ->(众多变量初始化)
|
TaskScheduler ->SchedulerBackend
2. SparkContxt(Sparkconf)
SparkConf 创建 SparkEnv
SparkEnv (创建包括 BlockManager ,MapOutputTracker ,ShuffleFetcher ,ConnectionMnager )
3 .sparkENV 创建变量解释
cacheManager : 存储计算的中间结果
mapOutputTracker :存储MapStatus ,并提供MapOutputMaster 获取信息功能
shuffleManager :维护路由表
brockManager : 块管理
connectionManager :安全管理
httpFileServer : 文件存储服务
sparkFilesDir : 文件存储目录
metriscSystem :测量
4. 创建 TaskScheduler
Master 根据 args 参数确定其运行模式 选择相应的 TaskSchedulerBackend ,将 TaskSchedulerbackend 放入taskScheduler 中