Spark的资源管理和调度模式

来源:互联网 发布:淘宝分享怎么查看 编辑:程序博客网 时间:2024/06/04 20:11

1.Spark-standalone

Standalone的模式下,spark的资源管理和调度是自己来管理和调度的,主要由master来管理。

2.Spark-yarn

ResourceManager

NodeManager

ApplicationMaster

Container(资源)

Task

 

Hadoop集群上面 Yarn执行任务的流程:

Client提交任务给resourceManagerresourceManager会选择一台机器开启一个container,在container里面开启一个applicationaster服务进程,applicationMaster进行任务的管理和调度,applicationMaster会向resourceManager申请资源,resourcemanager会在其他的机器上开启container进行资源分配。applicationMasterresourcemanager分配的资源进行任务调度,在container里面运行taskmapreduce

 

Spark集群基于yarn的时候任务的执行流程:

(1)client模式

Client提交任务给resourceManager,在提交任务的时候,在提交任务的那台机器上面开启一个driver服务进程,resourcemanager在接收到client提交的任务以后,在集群中随机选择一台机器分配一个container,在该container里面开启一个applicationmaster服务进程,driver去找applicationmasterapplicationmaster去找resourcemanager申请资源,resourcemanager会分配container,在其中开启excuterexcuter会反向向driver注册,drivertask放入到excuter里面执行。

(2)Cluster模式

Spark集群会在集群中开启一个driver,此时开启就是applicationmasterdriver合二为一了。其他的都相同。

 

注:Standaloneyarn上运行的业务的执行流程都是相同的,只是资源的分配和管理的方式不一样了。


3.spark-Mesos

方式类似yarn