当前位置: 首页 > news >正文

Spark On Yarn架构

client模式

图片

特征:driver在client上,AM只负责申请资源

  1. 提交任务:用户在cilent端通过spark-submit提交job
  2. 启动driver:driver进程在提交的本地机器上启动
  3. 申请AM:driver向RM请求启动AM
  4. 启动AM:RM分配一个container在某个NM上启动AM
  5. 申请executor:AM向RM申请运行executor所需的资源
  6. 启动executor:RM分配资源,AM在对应的NM上启动executor进程
  7. 注册与执行:executor启动后,向client上的driver反向注册。driver将task分发给executor执行

cluster模式

图片

特征:driver在集群内部,driver和AM合二为一

  1. 提交任务:用户在cilent端通过spark-submit提交job
  2. 申请AM:client向RM请求启动AM
  3. 启动AM和driver:RM分配一个container在某个NM上启动AM。此时AM内部直接启动driver
  4. 申请executor:AM向RM申请运行executor所需的资源
  5. 启动executor:RM分配资源,AM在对应的NM上启动executor进程
  6. 注册与执行:executor启动后,向集群内部的AM(driver/0反向注册。driver将task分发给executor执行

总结

Client模式下,流程是这样的:首先在客户端启动Driver,然后Driver去申请启动AM。AM启动后,负责帮Driver去向YARN申请资源来启动Executor。Executor启动后,直接向客户端的Driver注册并拉取任务。

Cluster模式下,最大的不同是Driver的位置:客户端提交任务后,YARN会直接在集群的一个节点上启动AM,Driver就运行在这个AM里面。之后Driver(也就是AM)自己去申请资源启动Executor,Executor向它自己所在的集群节点注册。

简单来说,Client模式Driver在本地,Cluster模式Driver在集群内部

http://www.jsqmd.com/news/318883/

相关文章:

  • 学Simulink——电机电磁兼容与可靠性场景示例:基于Simulink的电机绕组绝缘优化仿真
  • UE5 C++(63)map 转化成 json。更新 C# 的构建文件,已包含 json 模块 Json 和 JsonUtilities
  • Java 开发 - Objects 的 requireNonNull 方法
  • 计数排序进阶:不仅要排序,还要知道它排在第几位(稳定性详解)
  • 基于Simulink的车与车(V2V)通信仿真(信息交互场景)
  • 基于Simulink的电机绕组绝缘优化仿真
  • C++模拟器开发实践
  • 2026大模型就业指南:技术演进、核心技能与职业规划
  • AI大模型应用开发学习路线路径,巨详细!你要悄悄努力然后惊艳所有人
  • NOR Flash芯片GT25Q40汽车电子车载存储方案
  • 使用Fabric自动化你的部署流程
  • TI DLP光机模组之DLP3010
  • SPI NOR Flash和SPI NAND Flash存储芯片的区别
  • C++代码依赖分析
  • C++中的组合模式变体
  • redis集群有几种模式?分别讲讲这些集群模式的基本原理是什么?
  • Transformer架构:每个模块到底在解决什么问题?
  • 使用Python处理计算机图形学(PIL/Pillow)
  • TCN-Transformer-GRU组合模型回归+SHAP分析+新数据预测+多输出!深度学习可解释分析MATLAB代码
  • 【读书笔记】《大流感》
  • 设计模式在C++中的实现
  • 核心注解
  • Rocky Linux 9 双网卡 bond0 绑定 - 实践
  • 用Python批量处理Excel和CSV文件
  • 自定义字面量高级用法
  • 用Pygame开发你的第一个小游戏
  • 零成本抽象在C++中的应用
  • C++中的组合模式
  • W3C XML 活动
  • C++中的代理模式实现