1.1 基本原理

driver节点是整个应用程序的指挥所

指挥官是sparkcontext

环境:构建一个集群

应用程序提交

确定主节点,确定指挥所driver,确定指挥官sparkcontext

sparkcontext会向资源管理器申请资源

会将作业分为不同阶段

将不同任务分到不同节点执行

整个过程还会进行监控

资源管理器收到sparkcontext的资源请求

会向executor分配资源

启动executor进程,才会启动线程

executor进程是驻留在不同的work node中

会有成百上千个进程和work node

sparkcontext对象要根据 rdd依赖关系 构建一个DAG图

代码就是针对RDD一次次的操作

这些操作会被转换成一个有向无环图 dag

DAG会被提交到dag scheduler解析

DAG图会被切为很多个阶段 stage

每个stage又分为若干个任务

每一个阶段stage是任务的集合

把这个阶段stage提交给task scheduler

task scheduler负责分发任务

worker node上的executor会向task scheduler主动申请

task scheduler会返回任务给worker node上的executor去派生线程去执行

计算给节点的分发原则:

计算向数据靠拢。数据在哪个节点上面,task scheduler优先分配,完成本地化的处理。

executor运行的结果会再次反馈给task scheduler

再向上传给 dag scheduler

spark context做最后的处理。返回给用户看或者写入HDFS

sparkcontext:代表了整个应用程序连接集群的通道。链接应用和集群

好文链接

评论可见,请评论后查看内容,谢谢!!!评论后请刷新页面。

大家都在找:

大数据:大数据与会计

spark:波司登羽绒服spark

ui:uic

大家都在看: