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

一: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模式:

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

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

3.2、Spark Yarn-cluster模式:

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

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

三: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通信来调度它们的工作。

© 版权声明
THE END
喜欢就支持一下吧
点赞8 分享