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

2022-04-18 13:51:02 浏览数 (1)

一 :Spark运行模式分类

Spark运行模式分为三种:

  • local 本地部署

单机运行 , 通常用于演示或者测试 , Shell 命令行

  • standlone 本地部署

独立运行在一个集群中( 利用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模式

适用于交互和调试 , 客户端能看到application的输出,如下图:

3.2、spark yarn-cluster 模式

通常用于生产环境,job直接调度在yarn上执行,客户端无法感知。

一般我们在线上生产环境中,大部分采用的是YARN-cluster模式(除非你大数据框架没有使用Hadoop,那么可以考虑使用mesos)

三:yarn-client & yarn-cluster的区分

yarn-client & yarn-cluster的区分

广义区分:

  • yarn-client : 适用于交互和调试 , 客户端能看到application的输出
  • yarn-cluster : 通常用于生产环境

深层次区分:

1 : yarn-cluster和yarn-client模式的区别其实就是Application Master进程的区别

2 : yarn-cluster模式下, driver运行在AM(Application Master)中,它负责向YARN申请资源,并监督作业的运行状况。

当用户提交了作业之后,就可以关掉Client,作业会继续在YARN上运行。

3 : yarn-client模式下 , Application Master仅仅向YARN请求executor , client会和请求的container通信来调度他们工作

0 人点赞