一.简介
Spark是一种基于内存的快速、通用、可扩展的大数据分析计算引擎。
(1)官网地址:Apache Spark™ - Unified Engine for large-scale data analytics
(2)文档查看地址:Overview - Spark 3.0.0 documentation
(3)下载地址:Downloads | Apache Spark
https://archive.apache.org/dist/spark/
1.Hadoop与Spark框架对比
2.Spark目前支持的部署模式
(1)Local模式:在本地部署单个Spark服务
(2)Standalone模式:Spark自带的任务调度模式。
(3)YARN模式:Spark使用Hadoop的YARN组件进行资源与任务调度。
(4)Mesos模式:Spark使用Mesos平台进行资源与任务的调度。
3.常用端口号
(1)Spark查看当前Spark-shell运行任务情况端口号:4040
(2)Spark Master内部通信服务端口号:7077 (类比于yarn的8032(RM和NM的内部通信)端口)
(3)Spark Standalone模式Master Web端口号:8080(类比于Hadoop YARN任务运行情况查看端口号:8088)
(4)Spark历史服务器端口号:18080 (类比于Hadoop历史服务器端口号:19888)
4.集群角色简单介绍1.Master和Worker集群资源管理
Master和Worker是Spark的守护进程、集群资源管理者,即Spark在特定模式(Standalone)下正常运行必须要有的后台常驻进程。
Master:Spark特有资源调度系统的Leader,掌管着整个集群的资源信息,类似于Yarn框架中的ResourceManager。
Worker:Spark特有资源调度系统的Slave,有多个,每个Slave掌管着所在节点的资源信息,类似于Yarn框架中的NodeManager。
2.Driver和Executor任务的管理者
Driver和Executor是临时程序,当有具体任务提交到Spark集群才会开启的程序。
Driver:执行程序时Spark Shell中会预加载一个叫做sc的SparkContext对象,Driver此时的作用:①把用户程序转为作业(job) ②跟踪Executor的任务运行状况 ③为执行器节点调度任务 ④WebUI界面展示应用运行情况。
Executor:负责执行Spark的具体任务。
二.Yarn模式的基本使用
Spark客户端直接连接Yarn,不需要额外构建Spark集群。
1.运行流程Spark有yarn-client和yarn-cluster两种模式,主要区别在于:Driver程序的运行节点。
yarn-client:Driver程序运行在客户端,适用于交互、调试,希望立即看到app的输出。
yarn-cluster:Driver程序运行在由ResourceManager启动的APPMaster。
yarn-client运行模式介绍
yarn-cluster运行模式介绍
spark的几种模式对比:
| 模式 | Spark安装机器数 | 需启动的进程 | 所属者 |
| Local | 1 | 无 | Spark |
| Standalone | 3 | Master及Worker | Spark |
| Yarn | 1 | Yarn及HDFS | Hadoop |



