spark on yarn
好像spark是类似的
Spark原生自带有Standalone模式的资源调度能力,但是生产上一般是使用YARN作为资源调度管理工具。
Spark任务提交Yarn有两种模式:
1:Yarn Client
2:Yarn Cluster
两种调度模式,最大的区别在于Spark的Driver进程被放在哪里。
Yarn Client模式的特点是Driver被放在Client系统上,也就是任务提交的系统。
优点是能够很方便的获取Spark代码和SQL脚本中的返回信息。比如在Spark代码中打印日志,或者在Spark Sql脚本中执行了Select等,都可以非常方便的track到。对于问题定位有很好的帮助。
缺点是,如果有多个Driver进程在任务提交的系统中运行,会拖慢当前系统的性能,和占用太多当前系统的内存和CPU等资源。且在当前系统因为资源限制中没法启动更多的Driver。也就没法提交更多的spark任务。
Yarn Cluster模式下,Yarn会选中集群中随机一台机器,来启动Driver进程。优点是,Client环境提交Spark任务不受到Client本身资源的限制;缺点就是,对于日志查看等不太方便。
参考:https://zhuanlan.zhihu.com/p/431078788