Spark运行架构特点
Posted tiepihetao
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Spark运行架构特点相关的知识,希望对你有一定的参考价值。
1.1.1.Executor进程专属
每个Application获取专属的executor进程,该进程在Application期间一直驻留,并以多线程方式运行tasks。
Spark Application不能跨应用程序共享数据,除非将数据写入到外部存储系统。
如图所示:
1.1.2. 支持多种资源管理器
Spark与资源管理器无关,只要能够获取executor进程,并能保持相互通信就可以了,
Spark支持资源管理器包含: Standalone、On Mesos、On YARN、Or On EC2。
如图所示:
1.1.3. Job提交就近原则
提交SparkContext的Client应该靠近Worker节点(运行Executor的节点),最好是在同一个Rack(机架)里,
因为Spark Application运行过程中SparkContext和Executor之间有大量的信息交换;
如果想在远程集群中运行,最好使用RPC将SparkContext提交给集群,不要远离Worker运行SparkContext。
如图所示:
1.1.4. 移动程序而非移动数据的原则执行
Task采用了数据本地性和推测执行的优化机制。
关键方法:taskIdToLocations、getPreferedLocations。
如图所示:
以上是关于Spark运行架构特点的主要内容,如果未能解决你的问题,请参考以下文章