《企业级大数据平台构建:架构与实现》——2.5.6 集群模式
【摘要】 本书摘自《企业级大数据平台构建:架构与实现》——书中第2章,2.5.6节,作者是朱凯。
2.5.6 集群模式
Spark的应用以一组独立进程的形式运行在一个集群之上,由主程序中的SparkContext对象进行协调(也被称为driver程序)。Spark目前支持三种集群运行方式。
具体来说,Spark既可以通过standlone模式独立运行,也可以运行在Mesos或者YARN之上。如图2-17所示,一旦SparkContext连接到集群,Spark首先会从集群的节点中获得一些executor进程,这些进程会用来执行我们程序中的计算和存储逻辑,接着它会通过jar包的形式分发我们的程序代码到各个executor进程。最后,SparkContext会分派任务到各executor进程进行执行。
图2-17 Spark任务进程示意
每个应用都拥有自己的executor进程,这些进程会在整个应用生命周期内持续运行并以多线程的方式执行具体的任务。这种设计的好处是将各个应用之间的资源消耗进行了隔离,每个应用都运行在它们各自的JVM中。但是这也意味着不同应用之间的SparkContext无法共享数据,除非借助扩展的存储媒介。
Spark对底层集群管理不可知。只要能够获取到executor进行,并且这些进程之间可以通信,它就能比较容易的运行在其他通用集群资源调度框架之上,如Mesos和YARN。
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)