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