Spark的driver和executor简化版理解

本文深入解析Spark的driver和executor机制,阐述deploy-mode参数如何影响driverprogram的位置,以及不同配置下driver与executor的通信策略。在实际生产环境中,合理选择部署模式能够显著提升效率。

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

为了调试python脚本在spark-sumit时要注意的事项,网上查了一通资料
然后发现了这篇
Spark的driver理解和executor理解
又是图又是代码的讲了好多,
其实开头那个图已经有核心要点了
driver和executor

图中每一个白背景黑线框就是对应物理机器的粒度
图上没有说到的,是driver program的位置会因为提交作业时的deploy-mode参数和cluster manager 的调度策略而变动

要理解和记住这些也不复杂

  1. 当spark-submit没有提供deploy-mode参数,或者设置为–deploy-mode client时,driver program就在你执行spark-submit的机器上
  2. 当spark-submit的设置为–deploy-mode cluster时,driver program运行在spark-submit命令中连接的cluster里,其中某一个worker node上,在driver启动前并不固定是哪一个,driver启动后不变
  3. worker node在cluster manager的调度策略和自身资源满足的前提下,是可以同时存在driver program和executor的,甚至可以一个worker node上同时存在多个executor
  4. 这种设计是因为driver program与多个executor之间要有通信往来。在实际生产环境中,能执行spark-submit的机器和spark集群所在的网络位置甚至物理距离都可以隔很远,如果在执行spark-submit的位置部署driver program非常低效,不如让spark在集群内找一个worker node来部署driver program, 快很多。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值