上篇文章谈到Driver节点和Executor节点,但是如果想要运行Driver节点和Executor节点,就不能不说spark的集群管理器。spark的集群管理器大致有三种,一种是自带的standalone独立集群管理器,一种是依赖于Hadoop的资源调度器YARN,还有一种就是Apache项目的Mesos集群管理器。

Spark 依赖于集群管理器来启动Executor节点,有时候也会依赖集群管理器来启动Driver节点。集群管理器是 Spark 中的可插拔式组件。
在集群管理器中有着主节点(master)和从节点(slave)的概念,这和Driver节点以及Executor节点是完全不同的概念,master节点是主要负责集群管理器中接收客户端发送的应用,负责资源的调度以及跟踪从节点的运行状况等。slave节点主要负责启动一些任务进程,提供应用执行需要的文件和资源等。也就是说,Driver和Executor是要运行在slave节点上的。比如YARN,master节点是resourcemanager,slave节点是nodemanager,当用户提交应用到yarn上时,resourcemanager会在一个nodemanager中启动Driver节点,然后Driver节点启动后,会向resourcemanager注册,并申请资源,然后在其他的nodemanager中启动相应的Executor节点,来执行相应的任务。
 
04-23 12:41