一、Local
Local 模式是最简单的一种运行方式,它采用单节点多线程方式运行,不用部署,开箱即用,适合日常测试开发。在 shell 中有如下几种参数配置:
- local:只启动一个工作线程;
- local[k]:启动 k 个工作线程;
- local[*]:启动跟 cpu 数目相同的工作线程数。
二、Local-Cluster
Local-Cluster 为本地集群模式,类似于 hadoop 的伪分布式,其主要用于代码调试和测试,是源码学习常用的模式。不具备容错能力,不能用于生产环境。Driver、Master 与 Worker 运行在同一个 JVM 进程中。每个 Worker 可启动多个 Executor,每个 Executor 都是一个 JVM 进程。
三、Standalone
这是 spark 最常见的集群模式,即独立模式,自带完整的服务,可单独部署到一个集群中,无需依赖任何其他资源管理系统。Driver 在集群之外,可以是任意的客户端程序。Master 部署于单独的进程,一般在单独的机器上,可以有多个,但只能有一个处于激活状态(借助 Zookeeper 可以搭建高可用的 spark 集群)。Worker 部署于单独的进程,一般在单独的机器上部署。
四、YARN
就是将 spark 的资源管理放在 yarn 上来完成,现在 spark on yarn 有两种模式:
1、yarn-cluster:适用于生产环境
2、yarn-client:适用于交互、调试、希望立即看到 app 的输出
两者的区别:
yarn-client模式:
1、Application Master 仅仅向 YARN 请求 executor,client 会和请求的 container通信来调度他们工作(运行在本地)
2、Client不能离开<

本文详细介绍了Spark的五种部署模式:Local模式适合开发测试,Local-Cluster用于代码调试,Standalone模式为独立集群,YARN提供集群资源管理,包括yarn-cluster和yarn-client两种模式,Mesos则提供了粗粒度和细粒度两种调度模式。每种模式的特点和应用场景都有所不同,帮助读者理解Spark的部署策略。
最低0.47元/天 解锁文章
909

被折叠的 条评论
为什么被折叠?



