SparkContext在获得了一系列的初始化信息后开始创建并启动TaskScheduler实例:
进入createTaskScheduler方法:
我们看一下其Standalone的方式:
在上述代码中首先实例化一个TaskSchedulerImpl:
然后构建出了masterUrls:
接着创建出关键的backend:
进入SparkDeploySchedulerBackend实现:
从以上截图可以看出来,SparkDeploySchedulerBackend核心是为了启动CoarseGrainedExecutorBackend
此处使用了Akka技术进行不同机器之间的通信,CoarseGrainedExecutorBackend是具体在Worker上执行具体的任务的进程的代表,所以我们的backend实例就是用来提交任务给Executor的:
其实CoarseGrainedExecutorBackend是Executor的代理人,能够完成很多任务,例如启动一个任务:LaunchTask
回到SparkContext的Standalone的方式的代码处:
接着代码是把backend传给了TaskSchedulerImpl的initialize方法中:
在上述代码中显示处理调度模式 例如FIFO和Fair的模式。
在代码块的最后返回实例化后的backend, scheduler:
PS:妈蛋的 公司破网,spark源码没下载成功,只能在github上面看了,蛋疼
相关推荐
Spark安装包:spark-3.1.3-bin-without-hadoop.tgz
Apache Spark版本3.1.3。Linux安装包。spark-3.1.3-bin-hadoop3.2.tgz
本资源是spark-2.0.0-bin-hadoop2.6.tgz百度网盘资源下载,本资源是spark-2.0.0-bin-hadoop2.6.tgz百度网盘资源下载
Spark Doris Connector(apache-doris-spark-connector-2.3_2.11-1.0.1-incubating-src.tar.gz) Spark Doris Connector Version:1.0.1 Spark Version:2.x Scala Version:2.11 Apache Doris是一个现代MPP分析...
spark-3.2.0-bin-hadoop3.2.tgz
spark-3.0.0-bin-hadoop3.2下载安装包
pyspark本地的环境配置包,spark-2.3.4-bin-hadoop2.7.tgz:spark-2.3.4-bin-hadoop2.7.tgz
spark-3.2.4-bin-hadoop3.2-scala2.13 安装包
spark-hive_2.11-2.3.0 spark-hive-thriftserver_2.11-2.3.0.jar log4j-2.15.0.jar slf4j-api-1.7.7.jar slf4j-log4j12-1.7.25.jar curator-client-2.4.0.jar curator-framework-2.4.0.jar curator-recipes-2.4.0....
spark-assembly-1.5.2-hadoop2.6.0 在spark编程中使用的一个jar
spark-streaming-kafka-0-8_2.11-2.4.0.jar
linux的spark新版本,匹配hadoop2.7版本,spark-3.2.1-bin-hadoop2.7.tgz
spark-hive-thriftserver_2.11-2.1.spark-hive-thrift
spark-2.4.8-bin-hadoop2.7.tgz
spark-streaming-flume_2.11-2.1.0.jar
spark-2.4.0-bin-hadoop2.7
spark-3.0.0-bin-hadoop2.7.tgz 官网下载不了的,需要资源的,可以到这里下载哦
spark-1.6.3-bin-hadoop2.6.tgz
spark-2.2.0-yarn-shuffle.jar
spark-2.3.1-bin-hadoop2.7.zip