Spark运行模式详解

news2024/12/27 12:43:27

Spark概述

在这里插入图片描述

Spark 可以在多种不同的运行模式下执行,每种模式都有其自身的特点和适用场景。

部署Spark集群大体上分为两种模式:单机模式与集群模式。大多数分布式框架都支持单机模式,方便开发者调试框架的运行环境。但是在生产环境中,并不会使用单机模式。

Spark目前支持的部署模式。

  • (1)Local模式:在本地部署单个Spark服务

  • (2)Standalone模式:Spark自带的任务调度模式。(国内不常用)

  • (3)YARN模式:Spark使用Hadoop的YARN组件进行资源与任务调度。(国内最常用)
    在这里插入图片描述

  • (4)Mesos模式:Spark使用Mesos平台进行资源与任务的调度。(国内很少用)

1.Local 模式

  • 在本地模式下,Spark 将在单个 JVM 进程中运行,通常用于开发、测试和小规模数据处理。
  • 在本地模式下,Spark 不需要启动集群,而是直接在本地计算机上执行任务。

2.YARN 模式(常用)

  • YARN(Yet Another Resource Negotiator)
    是 Apache Hadoop 的资源管理器,可以用来在 Hadoop 集群上管理资源和调度任务。

  • Spark 可以作为 YARN 上的一个应用程序运行,在 YARN 模式下,Spark 将利用 YARN 来管理集群资源和调度任务。

在 Spark 中,YARN 模式下有两种常见的运行模式:yarn-client 和 yarn-cluster。它们的主要区别在于 Driver 程序的运行节点。
在这里插入图片描述

(1)yarn-client模式

  • yarn-client 模式下,Driver 程序运行在提交 Spark 应用程序的客户端机器上。
  • 这意味着 Driver 程序直接与 YARN ResourceManager 通信,并向其请求资源并启动 ApplicationMaster。
  • 一旦 ApplicationMaster 启动成功,它会协调在 YARN 集群中启动的 Executor 进程,并与它们通信以执行任务。

yarn-client 模式的优点是方便调试和监控,因为 Driver 程序直接运行在客户端机器上,可以直接查看其日志并与其交互。
然而,由于 Driver 程序运行在客户端机器上,它可能会成为性能瓶颈,尤其是当客户端机器的资源有限时。

(2)yarn-cluster 模式:

  • yarn-cluster模式下,Driver 程序运行在 YARN 集群中作为一个独立的应用程序。
  • 当用户提交 Spark 应用程序时,Driver 程序会作为一个 YARN ApplicationMaster 启动在集群中,并由 YARN ResourceManager 分配资源。
  • 一旦 ApplicationMaster 启动成功,它会协调在集群中启动的 Executor 进程,并与它们通信以执行任务。

yarn-cluster 模式的优点是可以更好地利用集群资源,并且 Driver 程序不会成为单点故障。

因为 Driver 程序运行在集群中,所以即使客户端机器宕机也不会影响 Spark 应用程序的执行。

但是,调试和监控会稍微复杂一些,因为 Driver 程序运行在集群中,需要查看集群中的日志和监控信息。

yarn-client 模式适用于调试和监控要求较低、资源较为充足的情况,而 yarn-cluster 模式适用于对资源利用率和容错性要求较高的情况


3.Standalone 模式

  • Spark 的独立模式是一种简单的集群管理器,可以用来在独立的 Spark 集群上运行应用程序。在这种模式下,用户需要手动启动和管理 Spark 集群中的各个组件,如主节点和工作节点。
  • Standalone模式是Spark自带的资源调度引擎,构建一个由Master + Worker构成的Spark集群,Spark运行在集群中。
  • 这个要和Hadoop中的Standalone区别开来。这里的Standalone是指只用Spark来搭建一个集群,不需要借助Hadoop的Yarn和Mesos等其他框架。
    在这里插入图片描述

4.Apache Mesos 模式:

  • Apache Mesos 是一个通用的集群管理器,可以用来管理多种类型的工作负载,包括 Spark 应用程序。
  • 在 Mesos 模式下,Spark 可以作为 Mesos 上的一个框架运行,利用 Mesos 提供的资源管理和调度功能来运行任务。
  • Spark客户端直接连接Mesos;不需要额外构建Spark集群。国内应用比较少,更多的是运用Yarn调度。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1698042.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

机器人支持回调接口配置(详细教程)

大家伙,我是雄雄,欢迎关注微信公众号:雄雄的小课堂。 一、前言 今天,给大家介绍一下,如何在机器人中配置回调地址和接口编写。很多时候我们可能有这样的场景,收到消息后,想自己处理一下消息的内…

【微服务】springboot 构建镜像多种模式使用详解

目录 一、前言 二、微服务常用的镜像构建方案 3.1 使用Dockerfile 3.2 使用docker plugin插件 3.3 使用docker compose 编排文件 三、环境准备 3.1 服务器 3.2 安装JDK环境 3.2.1 创建目录 3.2.2 下载安装包 3.2.3 配置环境变量 2.2.4 查看java版本 3.3 安装maven …

MySQL中, 自增主键和UUID作为主键有什么区别?

首先我们来看看, 存储自增主键和uuid的数据类型 我们知道, mysql中作为主键的通常是int类型的数据, 这个 数据从第一条记录开始, 从1开始主键往后递增, 例如我有100条数据, 那么根据主键排序后, 里面的记录从上往下一次就是1, 2, 3 ... 100, 但是UUID就不一样了, UUID是根据特殊…

HTTP协议、URL、HTTPS协议 ----- 讲解很详细

本章重点 理解应用层的作用, 初识HTTP协议 了解HTTPS协议 一、HTTP协议 1.认识url 虽然我们说,应用层协议是我们程序猿自己定的,但实际上,已经有大佬们定义了一些现成的,又非常好用的应用层协议,供我们直接参考使…

明星IP切片带货爆单营,0基础搞定IP切片带货短视频(69节课)

把握带货趋势,了解切片流程,剪辑带货创收营 课程目录: 01第一章实操链路-第一节IP选择.mp4 02第一章实操链路-第二节账号准备.mp4 03第一章实操链路-第四节开通权限.mp4 04第一章实操链路-第五节货品准备.mp4 05第一章实操链路-第六节素…

AI重塑保险业未来:机器学习在风险评估、欺诈检测与客户服务中的深度应用

🧑 博主简介:阿里巴巴嵌入式技术专家,深耕嵌入式人工智能领域,具备多年的嵌入式硬件产品研发管理经验。 📒 博客介绍:分享嵌入式开发领域的相关知识、经验、思考和感悟,欢迎关注。提供嵌入式方向…

3d数字化虚拟交互展厅让您紧跟时代的步伐

虚实融合打破边界,北京VR虚拟数字展厅搭建让体验者彷如置身于一部三维电影中,可以对场景中的物体、角色、模型进行自由参观和体验,并且系统支持随时更新,让您紧跟时代的步伐,领略更新的展览风采。 除了常见的科普培训&…

OpenStack平台Nova管理

1. 规划节点 使用OpenStack平台节点规划 IP主机名节点192.168.100.10controller控制节点192.168.100.20compute计算节点 2. 基础准备 部署的OpenStack平台 1. Nova运维命令 (1)Nova管理安全组规划 安全组(security group)是…

Neural Networks and Deep Learning环境搭建

1.进入Anaconda prompt 2.创建虚拟环境 (1)最简单的创建 python 虚拟环境的命令是: conda create -n your_env_name # your_env_name 为你虚拟环境名(2)我在这里创建一个名为:deep_study的 python2.7版…

NextJs 初级篇 - 安装 | 路由 | 中间件

NextJs 初级篇 - 安装 | 路由 | 中间件 一. NextJs 的安装二. 路由2.1 路由和页面的定义2.2 布局的定义和使用2.3 模板的定义和使用① 模板 VS 布局② 什么是 use client 2.4 路由跳转的方式2.5 动态路由2.6 路由处理程序① GET 请求的默认缓存机制② 控制缓存或者退出缓存的手…

IntelliJ IDEA实用插件:轻松生成时序图和类图

IntelliJ IDEA生成时序图、类图 一、SequenceDiagram1.1 插件安装1.2 插件设置1.3 生成时序图 二、PlantUML Integration2.1 插件安装2.2 插件设置2.3 生成类图 在软件建模课程的学习中,大家学习过多种图形表示方法,这些图形主要用于软件产品设计。在传统…

OFDM 802.11a的FPGA实现(二十)使用AXI-Stream FIFO进行跨时钟(含代码)

目录 1.前言 2.AXI-Stream FIFO时序 3.AXI-Stream FIFO配置信息 4.时钟控制模块MMCM 5.ModelSim仿真 6.总结 1.前言 至此,通过前面的文章讲解,对于OFDM 802.11a的发射基带的一个完整的PPDU帧的所有处理已经全部完成,其结构如下图所示&…

澳大利亚.德国-新闻媒体投放通稿:发表新闻稿需要留意哪些地方-大舍传媒

概述 当我们想要发布新闻稿时,了解目标媒体的特点和要求是至关重要的。本文将介绍澳大利亚和德国的新闻媒体,以及在撰写和投放新闻稿时需要注意的要点,以帮助您更好地与目标受众沟通。 澳大利亚媒体 澳大利亚是一个多元化的国家&#xff0…

C语言PTA练习题(编程求1+3+5+...+n,编程求n的阶乘,爬楼梯,爬楼梯(扩展),猴子吃桃,猴子吃桃(扩展),求算式前n项的和,汉诺塔游戏)

7-1 编程求135...n 输入一个正整数n&#xff0c;编程求135...n 要求&#xff1a;用递归完成。 输入格式: 输入一行&#xff0c;只有一个整数n (1<n<9999) 这里n为奇数。 输出格式: 一个正整数&#xff0c;表示结果。 输入样例: 在这里给出一组输入。例如&#xf…

【机器学习-23】关联规则(Apriori)算法:介绍、应用与实现

在现代数据分析中&#xff0c;经常需要从大规模数据集中挖掘有用的信息。关联规则挖掘是一种强大的技术&#xff0c;可以揭示数据中的隐藏关系和规律。本文将介绍如何使用Python进行关联规则挖掘&#xff0c;以帮助您发现数据中的有趣模式。 一、引言 1. 简要介绍关联规则学习…

【STM32单片机】----实现LED灯闪烁实战

&#x1f3a9; 欢迎来到技术探索的奇幻世界&#x1f468;‍&#x1f4bb; &#x1f4dc; 个人主页&#xff1a;一伦明悦-CSDN博客 ✍&#x1f3fb; 作者简介&#xff1a; C软件开发、Python机器学习爱好者 &#x1f5e3;️ 互动与支持&#xff1a;&#x1f4ac;评论 &…

只要0.14元带使能控制500mA输出电流3.3V输出电压SOT23-5封装LDO输入电压可达23V的DS8241-33S5

前言&#xff1a; 本来想推荐的&#xff0c;为慎重&#xff0c;搜了下公司信息&#xff0c;改介绍了。公司相关信息在文尾。 该LDO已在立创销售&#xff0c;希望厂家尽早将该款产品做到基础库或免换料费的器件中。 参考价格&#xff1a;0.14元 使能控制&#xff1a;支持 23V …

PCIe总线-事物层之TLP请求和完成报文格式介绍(六)

1.概述 TLP报文按照类型&#xff0c;可以大致分为4中类型&#xff0c;分别是IO请求报文、存储器请求报文、配置请求报文、完成报文和消息请求报文。IO请求报文可分为IO读请求&#xff08;不携带数据&#xff09;和IO写请求&#xff08;携带数据&#xff09;。存储器请求报文可…

mac 安装Node.js

文章目录 前言一、Node是什么&#xff1f;二、下载三、安装四、验证总结 前言 Node.js是一个开源、跨平台的JavaScript运行时环境&#xff0c;它允许开发者在服务器端运行JavaScript代码。Node.js是基于Chrome V8 JavaScript引擎构建的&#xff0c;它的设计目标是提供一种高效…

番外篇 | YOLOv5-SPD:用最简单的方式完成低分辨率图像和小目标检测升级

前言:Hello大家好,我是小哥谈。论文提出了一个新的CNN构建模块称为SPD-Conv,用来替换每个步长卷转层和每个池化层(从而完全消除它们)。SPD-Conv由一个空间到深度(SPD)层和一个非步长卷积(Conv)层组成。本文详细介绍了如何在YOLOv5中引入SPD-Conv,助力助力低分辨率与小…