基础信息

版本:2.3.0
官网下载 download
支持:Java 8+, Python 2.7+/3.4+ and R 3.1+
Scala :2.11.x

安装完成后,跑一跑

./bin/run-example SparkPi 10

./bin/spark-shell --master local[2]

–master 选项 描述
url 集群模式下,提交执行程序到主节点为url的机群上
local 本地模式,运行一个线程来执行程序,用于测试
local[N] 本地模式,运行N个线程来执行程序 ,用于测试

Spark应用程序相关概念

Spark application(Spark应用程序):一组运行在Spark集群上的进程集合,由一个Driver Program,多个Executor进程组成。前面使用的spark-shell就是一个应用程序
单个应用程序架构组成如下图:
Spark准备Driver Program(驱动程序):一个使用java或scala编写,并在其中初始化SparkContext、创建RDD进行一系列转换或行动的main方法。调度、监控Executor,并与之交互数据
Cluster Manager(集群管理器):Spark自身standalone模式集群管理器或其他第三方Mesos 、YARN管理器,给应用程序分配资源
Work Node(工作节点):跑应用程序进程的机器
Executor(干活的人):干活的jvm。执行应用程序计算任务,存储数据,返回数据给driver
Cache(缓存数据):执行中缓存使用的数据
Task(任务):执行计算任务

其他相关概念

Deploy mode(部署模式):区分driver在哪里运行。若是cluster,则把driver运行在集群上。若是cluster,则把driver运行在集群外,一般就是在提交本地
Job(作业):由多个Task并行执行组成的计算,由action操作触发。
Stage(阶段):一组按规则划分的Task集合

Spark应用的提交

使用spark-submit 来提交应用程序到集群

Spark应用的监控

每一个Driver Program都有一个WebUI,端口默认4040,用于查看Task、Executor运行状况及空间用量。使用浏览器浏览http://< driver-node >:4040即可

相关文章: