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调度模式(粗粒度模式和细粒度模式)的主要内容,如果未能解决你的问题,请参考以下文章