standalone cluster通常用于spark作业部署到生产环境中去使用
因为这种模式,会由master在集群中,某个节点上,来启动driver,然后driver会进行频繁的作业调度
此时driver和集群在一起,那么性能是比较高的
standalone client模式,在spark-submit脚本执行的机器上,会启动driver进程,然后去进行整个作业的调度,通常来说,你的spark-sumbmit脚本执行的机器,作为一个开发人员能够登陆的机器,通常是不会自己是spark集群部署的机器
所以此时,用cluster模式,你的机器可能与spark集群部署的机器都不在一个机房,或者距离很远,那么此时通常遥远的频繁的网络通信会影响你的整个作业的执行性能
此外,standalone cluster模式,还支持监控你的driver进程,并且在driver挂掉的时候,自动重启该进程
要使用这个功能,在spark-submit脚本中,使用 --supervise标识即可
这个和我们的作业关系不是太大,主要用于spark streaming 中HA的高可用
进程:SparkSubmit 一闪而过,仅仅只是将driver注册到master上,由master来启动driver,马上就停止了,在worker上,会启动DriverWrapper进程
在其他的worker上,启动CoarseGrainedExecutorBackend进程