一、Spark作业调度方式
1、Local
测试或实验性质的本地运行模式
Local[N]是用单机的多个线程来模拟Spark分布式计算,通常用来验证开发出来的应用程序逻辑上有没有问题。
其中N代表可以使用N个线程,每个线程拥有一个core。如果不指定N,则默认是一个线程(该线程有一个core)
2、standalone:指定节点
使用sparksubmit提交任务的时候(包括idea或其他开发工具使用new Sparkconf()来运行任务的时候),Driver运行在Client
3、Yarn
①Yarn client 测试用使用
spark跑在hadoop的集群中,所以为了做到资源能够均衡调度,会使用yarn作为spark的cluster Manager,来为spark的应用程序分配资源。
在执行Spark应用程序前,要启动hadoop的各种服务。由于已经有了资源管理器,所以不需要启动spark的Master、Worker守护进程
Driver是在客户端执行
②Yarn cluster 生产中用
spark submit脚本提交,向yarn(RM)中提交ApplicationMaster程序、AM启动的命令和需要在Executor中运行的程序等
Resource Manager在集群中的某个NodeManager上运行ApplicationMaster,该AM同时会执行Driver程序。紧接着,会在各NoderManager上执行