Spark源码分析
文章平均质量分 78
myllxy
欢迎关注知乎专栏:https://www.zhihu.com/column/c_1274036496291827712
展开
-
Spark2.0.2源码分析——RPC 通信机制(消息处理)
RPC 是一种远程过程的调用,即两台节点之间的数据传输。每个组件都有它自己的执行环境,RPC 的执行环境就是 RPCENV,RPCENV 是 Spark 2.x.x 新增加的,用于替代之前版本的 akka。RPC 是从 SparkEnv 开始启动的:一.SparkEnv 的创建在每一个节点都会启动一个 SparkEnv ,而通过启动 SparkContext 就能启动 SparkEnv:...原创 2019-02-18 21:37:19 · 753 阅读 · 1 评论 -
Spark2.0.2源码分析——Client 与 Master 之间创建 RPC 通信实例
以 standalone - cluster 模式为例从 SparkSubmit提交任务 mainMethod 开始执行:object Client { def main(args: Array[String]) { // scalastyle:off println if (!sys.props.contains("SPARK_SUBMIT")) { prin...原创 2019-03-07 19:08:02 · 316 阅读 · 0 评论 -
Spark2.0.2源码分析——TaskScheduler 启动
1.在SparkContext启动的时候初始化DAGSchedule调度器原创 2019-01-20 17:59:49 · 528 阅读 · 0 评论 -
Spark2.0.2源码分析——Application的注册启动(yarn-client 模式下)
以 yarn-client 模式为例,紧接上文TaskScheduler 启动最后一步如下:我们最后是 new 了一个 YarnClientSchedulerBackend 的实例,并执行 YarnClientSchedulerBackend 中的 .start() 方法:override def start() { val driverHost = conf.get("sp...原创 2019-01-28 15:53:20 · 895 阅读 · 0 评论 -
Spark2.0.2源码分析——Driver的注册和启动
以 standalone - cluster 模式为例一.任务提交这是提交语句:./spark-submit --master spark://node1:7077 --deploy-mode cluster --class org.apache.spark.examples.SparkPi …/examples/jars/spark-examples_2.11-2.4.0.jar 100...原创 2019-01-22 17:49:48 · 624 阅读 · 0 评论 -
Spark2.0.2源码分析——Application的注册启动(standalone 模式下)
紧接 Spark2.0.2源码分析——TaskScheduler 启动 分析。StandaloneSchedulerBackend 的 start 方法中,除了调用父类CoarseGrainedSchedulerBackend 的 start 方法创建 DriverEndPoint 以外主要是创建 AppClient,AppClient 会向**Master** 注册 Application...转载 2019-02-16 15:37:08 · 328 阅读 · 1 评论 -
Spark2.0.2源码分析——SparkSubmit提交任务
序列图:1.客户端任务提交:./spark-submit --master spark://node1:7077 --deploy-mode cluster --class org.apache.spark.examples.SparkPi ../examples/jars/spark-examples_2.11-2.4.0.jar 100其中 spark - submit 脚...原创 2019-01-31 14:57:39 · 1178 阅读 · 0 评论 -
Spark2.0.2源码分析——Executor 的启动
继上一篇文章:Spark2.0.2源码分析——Application的注册启动(standalone 模式下)application 向 Master 注册并提交后,Master 最终会调用 schedule 方法规划分配将要 worker 上运行的 executor 的资源,然后调用 allocateWorkerResourceToExecutors 将资源分配给 executor,并启动 e...转载 2019-03-09 16:01:59 · 199 阅读 · 0 评论 -
Spark2.0.2源码分析——CoarseGrainedExecutorBackend的启动
上文Spark2.0.2源码分析——Executor 的启动:上篇文章介绍了,executor 的启动,文章最后调用 fetchAndRunExecutor 方法,创建 ProcessBuilder ,用于执行命令启动 CoarseGrainedExecutorBackend,执行命令,调用 CoarseGrainedExecutorBackend 的 main 方法,启动 CoarseGrain...原创 2019-03-12 18:21:56 · 403 阅读 · 0 评论