Spark运行架构-简要版

1、构建Spark Application运行环境:
在Driver Program中新建SparkContext(包含SparkContext的挰序称为Driver Program);

Spark Application运行的表现方式为:在集群上运行着一组独立的executor进程,这些进程由SparkContext来协调。


2、Spark Context向资源管理器申请运行Execuotr资源,并启动StandaloneExecutorBackend,executor向SparkContext申请task; 

集群通过SparkContext连接到不同的cluster manager(standalone、yarn、mesos),cluster manager为运行应用的Executor分配资源;一旦连接建立之后,Spark每个Application就会获得各个节点上的Executor(进程);每个Application都有自己独立的Executor进程;Executor才是真正运行在WordNode上的工作进程,它们为应用来计算或者存储数据。


3、SparkContext获取到Executor之后,Application的应用代码将会被发送到各个Executor。


4、SparkContext构建RDD DAG图,将RDD DAG图分解成Stage DAG图,DAGScheduler将Stage提交给TaskScheduler,最后由TaskScheduler将Task发送给Executor执行。


5、Task在Excecutor上执行,执行完毕后释放所有资源。

猜你喜欢

转载自blog.csdn.net/qq_39736482/article/details/80745706