Spark运行模式详解

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调度。
相关推荐
盘古信息IMS1 小时前
富乐德传感技术&盘古信息 | 锚定“未来工厂”新坐标,开启传感器制造行业数字化转型新征程
大数据·人工智能·制造
lboyj1 小时前
从AI到新能源:猎板PCB的HDI技术如何定义高端制造新标准?
大数据·人工智能
开目软件1 小时前
开目新一代MOM:AI赋能高端制造的破局之道
大数据·人工智能·制造·mom·开目软件
郭不耐1 小时前
DeepSeek智能时空数据分析(八):NL2SQL绘制河流-轨迹缓冲区如何生成
大数据·数据分析·云计算·aigc·数据可视化
果冻人工智能2 小时前
AI能否取代软件架构师?我将4个大语言模型进行了测试
大数据·人工智能·深度学习·语言模型·自然语言处理·ai员工
Acrel136119655142 小时前
Acrel-EIoT 能源物联网云平台在能耗监测系统中的创新设计
大数据·人工智能·能源·创业创新
言小乔.2 小时前
202536 | KafKa生产者分区写入策略+消费者分区分配策略
分布式·kafka·linq
predisw2 小时前
kafka leader traffic 重平衡
分布式·kafka
大腾智能3 小时前
五一旅游潮涌:数字化如何驱动智慧旅游升级
大数据·人工智能·数字化·旅游数字化
斯普信专业组3 小时前
Elasticsearch内存管理与JVM优化:原理剖析与最佳实践
大数据·jvm·elasticsearch