Spark专题系列(三):Spark运行模式

发布时间 - 2025-07-20 00:00:00    点击率:

一:spark运行模式分类

Spark的运行模式可以分为三类:

本地模式(local),适用于演示或测试,通常在Shell命令行中运行。

独立模式(standalone),可以在一个集群中独立运行,利用Spark自身的资源调度方式。

Yarn/Mesos模式,运行在资源管理器上,例如Yarn或Mesos。

其中,Spark on Yarn又分为两种子模式:

  • Yarn-client模式
  • Yarn-cluster模式

二:Spark各运行模式的应用场景

1、本地模式:

  • 以多线程的方式在本地运行一个应用程序。

本地模式的分类包括:

Local:只启动一个executor。

Local[K]:启动K个executor。

Local[*]:启动与CPU数目相同的executor。

2、独立模式(Standalone):

  • 是一种独立的运行模式,具备完整的服务,可以独立部署在集群中,无需依赖其他资源管理系统。
  • 由master和slaves服务组成,最初master存在单点故障问题,后来通过zookeeper解决。
  • 各个节点上的资源被抽象成粗粒度的slot,slot的数量决定了能同时运行的task数量。

3、Spark on Yarn:

  • 在Yarn资源管理器框架上运行,由Yarn负责资源管理,而Spark负责任务调度和计算。

3.1、Spark Yarn-client模式:

  • 适用于交互和调试,客户端可以看到应用程序的输出。

3.2、Spark Yarn-cluster模式:

  • 通常用于生产环境,作业直接在Yarn上执行,客户端无法感知。
  • 在线上生产环境中,大多数采用YARN-cluster模式(除非你的大数据框架未使用Hadoop,可以考虑使用Mesos)。

三:Yarn-client与Yarn-cluster的区分

Yarn-client与Yarn-cluster的区分:

广义区分:

  • Yarn-client:适用于交互和调试,客户端可以看到应用程序的输出。
  • Yarn-cluster:通常用于生产环境。

深层次区分:

  1. Yarn-cluster和Yarn-client模式的区别主要在于Application Master进程的不同。
  2. 在Yarn-cluster模式下,driver运行在AM(Application Master)中,负责向YARN申请资源,并监督作业的运行状况。用户提交作业后,可以关闭客户端,作业将继续在YARN上运行。
  3. 在Yarn-client模式下,Application Master仅向YARN请求executor,客户端将与请求的container通信来调度它们的工作。


# ai  # 资源管理器  # 区别  # yarn  # 线程  # 多线程  # hadoop  # zookeeper  # spark  # 客户端  # 适用于  # 应用程序  # 可以看到  # 单点  # 资源管理  # 是一种  # 管理系统  # 模式下  # 线上 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: Win11怎么恢复误删照片_Win11数据恢复工具使用【推荐】  google浏览器怎么清理缓存_谷歌浏览器清除缓存加速详细步骤  Laravel如何使用Service Container和依赖注入?(代码示例)  微信小程序制作网站有哪些,微信小程序需要做网站吗?  专业型网站制作公司有哪些,我设计专业的,谁给推荐几个设计师兼职类的网站?  百度输入法全感官ai怎么关 百度输入法全感官皮肤关闭  如何在橙子建站中快速调整背景颜色?  如何用花生壳三步快速搭建专属网站?  音乐网站服务器如何优化API响应速度?  香港服务器网站测试全流程:性能评估、SEO加载与移动适配优化  重庆市网站制作公司,重庆招聘网站哪个好?  高配服务器限时抢购:企业级配置与回收服务一站式优惠方案  python中快速进行多个字符替换的方法小结  Laravel如何实现用户密码重置功能?(完整流程代码)  购物网站制作费用多少,开办网上购物网站,需要办理哪些手续?  如何在万网ECS上快速搭建专属网站?  Laravel如何实现文件上传和存储?(本地与S3配置)  Laravel如何使用Telescope进行调试?(安装和使用教程)  网页制作模板网站推荐,网页设计海报之类的素材哪里好?  Windows Hello人脸识别突然无法使用  Laravel如何使用Passport实现OAuth2?(完整配置步骤)  Win11怎么关闭资讯和兴趣_Windows11任务栏设置隐藏小组件  如何在IIS中新建站点并配置端口与IP地址?  Edge浏览器怎么启用睡眠标签页_节省电脑内存占用优化技巧  制作旅游网站html,怎样注册旅游网站?  EditPlus中的正则表达式实战(6)  Laravel怎么配置自定义表前缀_Laravel数据库迁移与Eloquent表名映射【步骤】  安克发布新款氮化镓充电宝:体积缩小 30%,支持 200W 输出  图册素材网站设计制作软件,图册的导出方式有几种?  Laravel怎么返回JSON格式数据_Laravel API资源Response响应格式化【技巧】  Laravel怎么在Controller之外的地方验证数据  制作网站软件推荐手机版,如何制作属于自己的手机网站app应用?  制作公司内部网站有哪些,内网如何建网站?  如何在云指建站中生成FTP站点?  Laravel怎么配置S3云存储驱动_Laravel集成阿里云OSS或AWS S3存储桶【教程】  Claude怎样写约束型提示词_Claude约束提示词写法【教程】  iOS验证手机号的正则表达式  HTML 中动态设置元素 name 属性的正确语法详解  家族网站制作贴纸教程视频,用豆子做粘帖画怎么制作?  如何在云主机上快速搭建网站?  Laravel中的Facade(门面)到底是什么原理  详解Android图表 MPAndroidChart折线图  进行网站优化必须要坚持的四大原则  手机软键盘弹出时影响布局的解决方法  Laravel如何与Pusher实现实时通信?(WebSocket示例)  Laravel事件监听器怎么写_Laravel Event和Listener使用教程  Laravel怎么做缓存_Laravel Cache系统提升应用速度的策略与技巧  Laravel如何与Inertia.js和Vue/React构建现代单页应用  CSS3怎么给轮播图加过渡动画_transition加transform实现【技巧】  php打包exe后无法访问网络共享_共享权限设置方法【教程】