2020年5月11日
摘要: 原理图如下 重点DAGScheduler会从触发Action操作的RDD划分stage,然后往前倒退,如果之前依赖的RDD是窄依赖就会放入同一个stage,如果是宽依赖就会就会重新划分一个stage DAGScheduler runJob submitJob eventProcessLoop.pos 阅读全文
posted @ 2020-05-11 22:37 清浊 阅读(334) 评论(0) 推荐(0) 编辑
摘要: 1、一个action就会触发一个job, package cn.spark.study.core import org.apache.spark.{SparkConf, SparkContext} /** * @author: yangchun * @description: * @date: Cr 阅读全文
posted @ 2020-05-11 18:25 清浊 阅读(230) 评论(0) 推荐(0) 编辑
摘要: 1、worker里面先找到launchDriver case LaunchDriver(driverId, driverDesc) => { logInfo(s"Asked to launch driver $driverId") // 创建DriverRunner线程,包括在driver失败时自动 阅读全文
posted @ 2020-05-11 15:58 清浊 阅读(242) 评论(0) 推荐(0) 编辑
摘要: 上篇已经降到AppClient找Master进行注册,本章主要解析Master的原理和源码解析 1、Master的主备切换原理 package org.apache.spark.deploy.master completeRecovery,过滤没有响应的worker,app,drivers,从内存缓 阅读全文
posted @ 2020-05-11 14:26 清浊 阅读(343) 评论(0) 推荐(0) 编辑