Spark on YARN的两种运行模式

本文详细介绍了Spark on YARN的两种运行模式:yarn-cluster与yarn-client。yarn-cluster适用于生产环境,支持Driver进程独立运行;yarn-client则更适合交互式应用,便于调试与实时查看输出。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Spark on YARN有两种运行模式,如下

    1、yarn-cluster:适合于生产环境。
        Spark的Driver运行在ApplicationMaster中,它负责向YARN ResourceManager申请资源,并监督作业的运行状况。当用户提交了作业之后,
    就可以关掉Client(启动Spark作业的客户端不需要一直存在于整个Spark作业运行生命周期),作业会继续在YARN上运行。yarn-cluster不适合
    交互式应用。
        
    2、yarn-client:适合于交互式应用、调试查看输出。
        Spark的Driver运行在初始化Spark作业的客户端中,例如在用户输入或调试时,需要Spark作业的Driver运行在初始化作业的客户端进程中。这时候ApplicationMaster只是从
    YARN中请求Executor,客户端会和请求的Container通信来调度作业。发行版的Spark二进制包中的bin/spark-shell就是一个很好交互式工具
        
    这两种模式主要区别在于任务调度taskschedule的区别,yarn-client是将任务调度的功能放在客户端,而yarn-cluster将任务放在资源管理器中。    
        

参考官方文献:http://spark.apache.org/docs/latest/running-on-yarn.html

转载于:https://www.cnblogs.com/mengyao/p/4928292.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值