Spark运行架构特点

Posted tiepihetao

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Spark运行架构特点相关的知识,希望对你有一定的参考价值。

1.1.1.Executor进程专属

每个Application获取专属的executor进程,该进程在Application期间一直驻留,并以多线程方式运行tasks
Spark Application不能跨应用程序共享数据,除非将数据写入到外部存储系统。

如图所示:

 

技术图片

 

1.1.2. 支持多种资源管理器

Spark与资源管理器无关,只要能够获取executor进程,并能保持相互通信就可以了,
Spark支持资源管理器包含: StandaloneOn MesosOn YARNOr On EC2

如图所示:

 

技术图片

 

1.1.3. Job提交就近原则

提交SparkContextClient应该靠近Worker节点(运行Executor的节点),最好是在同一个Rack(机架)里,
因为Spark Application运行过程中SparkContextExecutor之间有大量的信息交换;
如果想在远程集群中运行,最好使用RPCSparkContext提交给集群,不要远离Worker运行SparkContext

如图所示:

 

技术图片

 

1.1.4. 移动程序而非移动数据的原则执行

Task采用了数据本地性和推测执行的优化机制。
关键方法:taskIdToLocationsgetPreferedLocations

如图所示:

 

技术图片

 



以上是关于Spark运行架构特点的主要内容,如果未能解决你的问题,请参考以下文章

Spark:基础知识01

寒假自学进度报告1

大数据之Spark:Spark 底层执行原理

Spark入门实战系列--4.Spark运行架构

转载Spark运行架构

Spark入门实战系列--4.Spark运行架构