【Spark学习】Spark应用框架

Spark应用架构主要包含两部分 1)Spark runtime application 2) Spark cluster。

Spark runtime application的主要组件是SparkDriver,它负责

1. 创建SparkSession和相应的SparkContext。SparkSession是Spark应用的入口。其中SparkSession可以通过SparkConf来配置。

2. Plan an application by creating a DAG consisting of tasks and stages. 其中Tasks是在Executor上执行。

3. 通过ApplicationMaster,获得执行application需要的资源(即Executor)。

4. 执行application和协调tasks以及stages。

5. 和client交互:从client接收application和返回结果给client。

Spark cluster的主要组件和职责是

1. Cluster Manager: 负责cluster资源的管理。可以是Spark自带的资源管理器,也可以是Hadoop资源管理器如YARN等。

2. ApplicationMaster:Spark application是通过ApplicationMaster向Cluster Manager申请资源。ApplicationMaster的主要职责是1)通过Cluster Manager为application申请资源。2)Monitor这些资源的状态和health。

3. Executor:针对指定的application,负责 1)Reserve CPU和 memory资源。2)执行tasks。

    原文作者:远方
    原文地址: https://zhuanlan.zhihu.com/p/80636138
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞