Spark学习之在集群上运行Spark(6)

时间:2022-03-27 23:23:11

Spark学习之在集群上运行Spark(6)

1. Spark的一个优点在于可以通过增加机器数量并使用集群模式运行,来扩展程序的计算能力。

2. Spark既能适用于专用集群,也可以适用于共享的云计算环境。

3. Spark在分布式环境中的架构:

Created with Raphaël 2.1.0我的操作集群管理器Mesos、YARN、或独立集群管理器N个集群工作节点(执行器进程)

Spark集群采用的是主/从结构,驱动器(Driver)节点和所有执行器(executor)节点一起被称为一个Spark应用(application)。

Spark自带的集群管理器被称为独立集群管理器。

4. 驱动器节点

Spark的驱动器是执行程序main()方法的进程。它执行用户编写的用来创建SparkContext、创建RDD,以及进行RDD的转化操作和行动操作的代码。

5. 执行器节点

Spark的执行器节点是一种工作进程,负责在Spark作业中运行任务,任务间相互独立。
两大作用:第一,它们负责运行组成Spark应用的任务,并将结果返回给驱动器进程;第二,它们通过自身的块管理器(Block Manager)为用户程序中要求的缓存的RDD提供内存式存储。

6. 集群管理器

Spark依赖于集群管理器来启动执行器节点,在某特殊情况下,也依赖集群管理器来启动驱动器节点。

7. 提交Python应用(spark-submit)

bin/spark-submit my_script.py

8. 打包依赖

Maven或者sbt