02-spark调度模式(粗粒度模式和细粒度模式)

Posted lihaozong2013

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了02-spark调度模式(粗粒度模式和细粒度模式)相关的知识,希望对你有一定的参考价值。

1、Spark调度模式

  Spark是一个开源框架,它支持两种调度模式,一种是以yarn为代表的粗粒度模式,和另一种细粒度模式。

2、粗粒度模式

  每个应用程序的运行环境由一个Driver和若干个Executor组成,其中,每个Executor占用若干个资源,内部可运行多个Task,应用程序的各个任务正式运行之前,需要将运行环境中的资源全部申请好,且运行过程中要一直占用这些资源(即使不用),最后程序运行结束之后,回收这些资源

3、细粒度模式

  与粗粒度模式一样,应用程序启动时,辉县启动executor,但每个executor占用的资源仅仅是自己运行所需的资源,不需要考虑将来要运行的任务,之后,cluster manager会为每个task根据自身需要动态分配资源。单个task运行完后就马上释放对应的资源。每个Task完全独立,优点是便于资源控制和隔离,但缺点也很明显,作业运行延迟大(重新分配task的资源是比较耗时的)

4、yarn上的粗粒度模式

  yarn现在只支持粗粒度模式。

  yarn上的ResourceManager负责将集群的资源分配给各个应用使用,而资源分配和调度的基本单位是Container,其中封装了集群资源(CPU,内存、磁盘等),每个任务只能在Container中运行,并且只是用Container中的资源。那么就算Spark的Executor用不了这么多资源,也会占用这么多资源,这就是粗粒度模式。

以上是关于02-spark调度模式(粗粒度模式和细粒度模式)的主要内容,如果未能解决你的问题,请参考以下文章

粗粒度与细粒度权限控制

外观模式

002-权限管理解决方案

Java组合实体模式~

定制服务模式

软件设计的切入点是什么?如何从最初的需求提取出一个粗粒度的软件结构?