火花中的执行器和纱线中的应用程序主机是否执行相同的
在Spark中,有一个Driver
和Executors
。我不想详细介绍驱动程序和执行程序是什么,但在一行中,驱动程序管理作业流并调度任务,执行程序是负责运行单个任务的工作节点进程。
YARN基本上是一个为计算引擎分配内存的资源管理器。现在,这个计算引擎可以是Spark/Tez/Map reduce。这里需要理解的是,当YARN成功分配内存时,它们被称为containers
。
现在,当Spark Job部署在YARN中时,假设YARN有足够的内存来运行Spark Job,YARN首先将资源分配为Spark Application Master的containers
,它将具有驱动程序(在集群模式的情况下(。此应用程序主机将进一步请求火花执行器的资源,YARN将进一步将其分配为容器。所以spark作业将有多个容器,一个用于驱动程序,n
容器用于n
执行器。因此,您可以在computing sense
中看到,在火花簇中运行的火花和在YARN中运行的火星之间的根本区别在于容器的使用。
因此,YARN中的执行器和应用程序主控器在容器中运行,并执行与火花簇上的火花相同的操作。