spark on yarn 的两种处理模式的区别
时间: 2024-02-10 20:24:16 浏览: 87
Spark on YARN有两种处理模式,分别是Client模式和Cluster模式。
1. Client模式:
在Client模式下,Spark应用程序的驱动程序运行在提交应用程序的客户端机器上。客户端向YARN ResourceManager提交应用程序,并且将应用程序的JAR包和依赖文件分发到集群的NodeManager上。然后,驱动程序启动一个SparkContext来与集群通信,并在集群上分配和管理任务。这种模式下,驱动程序负责监控应用程序的执行过程和收集结果。
优点:
- 可以方便地在客户端机器上查看应用程序的日志和输出结果。
- 对于开发和调试应用程序来说比较方便,可以快速获取反馈。
缺点:
- 如果客户端机器断开连接或关闭,驱动程序也会停止运行。
- 客户端机器的资源会被使用来运行驱动程序,可能会影响到其他任务的执行。
2. Cluster模式:
在Cluster模式下,Spark应用程序的驱动程序运行在YARN集群中的某个节点上。客户端只需要向YARN ResourceManager提交应用程序,并将应用程序的JAR包和依赖文件分发到集群的NodeManager上。然后,驱动程序在集群中的某个节点上启动一个SparkContext来与集群通信,并在集群上分配和管理任务。这种模式下,驱动程序不受客户端机器断开连接的影响。
优点:
- 驱动程序运行在集群中,不会受到客户端机器的限制。
- 可以更好地利用集群资源,提高任务的并行度和整体执行性能。
缺点:
- 对于开发和调试应用程序来说相对麻烦,需要通过查看集群日志来获取反馈。
- 不方便查看应用程序的日志和输出结果,需要通过其他方式获取。
阅读全文