Spark源码分析+图解
2023-04-14 22:25:55 0 举报
Spark源码分析+图解
作者其他创作
大纲/内容
TransportClient
DAGScheduler 所有操作同上
P1
Stage0
SparkSubmitArguments--master --class
6.2 ExecutorRunnalbe(NMClient)
Task
ThreadPool
A
RDD(textfile)
Code
file
Inbox
InboxMessage
Outbox
Stage1
A B
P0
Dispatcher
Driver
RpcEndPoint(Worker)
通信模块RPC
查找宽依赖
def main(args:Array[String]):Unit={val sc: SparkContext=new SparkContext(new SparkConf()).setAppName(\"SparkCoreTest\").setMaster(\"local[*]\")val resultRDD=sc.textFile(\"input\").flatMap(_.split(\" \
5. 返回资源可用列表
read
10 任务切分
TransportServer(Epoll)
TransportServer
inbox
OutboxMessage
Thread
3)Job0的Stage个数=宽依赖的个数+1=1+14)Job0的Task个数=一个Stage阶段中,最后一个RDD的分区个数就是Task的个数=2+2
OutBox
DAGScheduler根据宽依赖做Stage划分;根据分区数做Task划分
TaskSet
2 启动ApplicaitonMaser
SchedulableBuider (FIFO/Fair)
是自身
SparkEnv
yarnClient
Shuffle
RpcEndPoint(Driver)
receiveOffers
Container
ShuffleMapStage
collect
9.创建Executor计算对象
Job1
Spark通讯架构
B
Event
Executor
JobSubmitted
1.5提交任务信息submitApplication
ResourceManager
本次以我们开发过程中最常用到的yarn-cluster模式为例,深度解读spark祖业提交全流程、以及在不同节点上的通信机制,深入细致解读spark任务切分的机制,及后期分配任务的过程
NodeManager
RDD(reduceByKey)
RpcEndPoint(Master)
其中一个TransportClient
发送地址为自身?
RDD(map)
6.4 onStart
bin/spark-submit \\--class WordCount \\--master yarn \\--deploy-mode cluster \\./WordCount.jar./input ./output
6.1 launcherPool
1.3创建客户端YarnClusterApplication
1)Application=SparkContext个数
Job0
YarnCluster模式提交流程
RDD
2)Job个数=Action算子个数
CoarseGrainedExecutorBackend(Executor)
saveAsTextFile
EventLoop
RDD(flatMap)
YarnRMClient
write
TaskScheduler(任务调度)
onStart
ResultStage
全流程大致如此,其中,Driver端和Executor端的通信机制设计巧妙,它保证了分布式计算节点一致性,是一大亮点
RpcEndpointRefsend/ask
Stage任务划分
Client
分配原则(进程、节点、机架)
ExecutorBackend
在资源分配的同时,另一条主线任务切分同等重要,在Spark提交过程中最为细致和复杂
DAGScheduler
ApplicationMaster
TaskManager
(receive*)FIFO
RpcEndPoint(Executor)
3.AM根据参数,启动Driver线程并初始化SparkContext
Task任务调度执行
3.1执行代码3.2初始化sc
7. 注册Executor
1.4封装提交参数和命令bin/javaApplicationMaster --jar ...--class...
1.2 解析参数
SparkSubmit
11 分配任务
6.3 启动Executorbin/javaCoarseGrainedExecutorBackend
RpcEnv
SchedulerBackend(通信后台)
0 条评论
下一页