标签:resource 模式 exec 一个 完全 tor 自己 cut yarn
Spark是一个开源框架,它支持两种调度模式,一种是以yarn为代表的粗粒度模式,和另一种细粒度模式。
每个应用程序的运行环境由一个Driver和若干个Executor组成,其中,每个Executor占用若干个资源,内部可运行多个Task,应用程序的各个任务正式运行之前,需要将运行环境中的资源全部申请好,且运行过程中要一直占用这些资源(即使不用),最后程序运行结束之后,回收这些资源
与粗粒度模式一样,应用程序启动时,辉县启动executor,但每个executor占用的资源仅仅是自己运行所需的资源,不需要考虑将来要运行的任务,之后,cluster manager会为每个task根据自身需要动态分配资源。单个task运行完后就马上释放对应的资源。每个Task完全独立,优点是便于资源控制和隔离,但缺点也很明显,作业运行延迟大(重新分配task的资源是比较耗时的)
yarn现在只支持粗粒度模式。
yarn上的ResourceManager负责将集群的资源分配给各个应用使用,而资源分配和调度的基本单位是Container,其中封装了集群资源(CPU,内存、磁盘等),每个任务只能在Container中运行,并且只是用Container中的资源。那么就算Spark的Executor用不了这么多资源,也会占用这么多资源,这就是粗粒度模式。
标签:resource 模式 exec 一个 完全 tor 自己 cut yarn
原文地址:https://www.cnblogs.com/lihaozong2013/p/10582653.html