spark的集群主要有三种运行模式standalone、yarn、mesos,其中常被使用的是standalone和yarn模式。
standalone模式
standalone模式,是spark自己实现的,它是一个资源调度框架。这里我们要关注这个框架的三个节点:
1)client
2)master
3)worker
spark应用程序有一个Driver驱动,Driver可以运行在Client上也可以运行在master上。如果你使用spark-shell去提交job的话它会是运行在master上的,如果你使用spark-submit或者IDEA开发工具方式运行,那么它是运行在Client上的。这样我们知道了,Client的主体作用就是运行Driver。而master除了资源调度的作用还可以运行Driver。
再关注master和worker节点,standalone是一个主从模式,master节点负责资源管理,worker节点负责任务的执行。
Standalone-client执行流程
client模式提交任务后,会在客户端启动Driver进程。
Driver会向Master申请启动Application启动的资源。
资源申请成功,Driver端将task发送到worker端执行。
worker将task执行结果返回到Driver端。
Standalone-client提交模式总结:
client模式适用于测试调试程序