spark支持的运行模式:本地模式、本地集群模式、standalone模式、yarn模式及mesos模式。
本地模式
local、local[N]或local[N,maxRetries]。主要用于代码调试和跟踪。不具备容错能力,不适用于生产环境。
本地模式只有Driver,没有Master和Worker。执行任务的Executor与Driver在同一个JVM进程中。
本地集群模式
local-cluster[N,cores,memory]。也主要用于代码调试和测试,是源码学习常用的模式。不具备容错能力,不能用于生产环境。
Driver、Master与Worker运行在同一个JVM进程中。每个Worker可启动多个Executor,每个Executor都是一个JVM进程。
Standalone模式
spark://。具备容错能力并且支持分布式部署运行。
Driver在集群之外,可以是任意的客户端程序。Master部署于单独的进程,甚至在单独的机器上,可以有多个,但只能有一个处于激活状态。Worker部署于单独的进程,推荐在单独的机器上部署。
YARN模式
yarn模式是将任务管理与资源调度功能交给YARN框架进行处理的模式。分为yarn-client和yarn-cluster两种模式。
yarn-client适用于交互、调试,希望立即看到应用的输出;yarn-cluster适用于生产环境。
yarn-cluster模式下,driver运行在AM(ApplicationMaster)中,负责向YARN申请资源并监控作业的运行状况。当用户提交完作业后,就可以关闭client,作业会继续在YARN上运行。
yarn-cluster模式不适合运行交互类型的作业。而在yarn-client模式下,AM(ApplicationMaster)仅仅向YARN请求executor,client会和请求的executor通信来调度工作,client不能离开。
Mesos模式
运行模式类似于YARN,分为client和cluster两种模式。资源调度器分为粗粒度(默认)和细粒度(不推荐)。
忠于技术,热爱分享。欢迎关注公众号:java大数据编程,了解更多技术内容。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。