1、本地模式
Spark不一定要跑在Hadoop集群,可以在本地,起多个线程的方式来指定。将Spark应用以多线程的方式直接运行在本地,一般都是为了方便调试,本地模式分三类:
- local:只启动一个executor
- local[k]:启动k个executor
- local[*]:启动和cpu数目相同的executer
2、standalone模式
分布式部署集群,自带完整的服务,资源管理和任务监控是Spark自己监控,这个模式也是其他模式的基础。
3、Spark on yarn模式
分布式部署集群,资源和任务监控交给yarn管理,Spark客户端直接连接Yarn,不需要额外构建Spark集群。有yarn-client和yarn-cluster两种模式,主要区别在于:Driver程序的运行节点。
- cluster适合生产,driver运行在集群子节点,具有容错功能。
- client适合调试,driver运行在客户端