根据[Spark on YARN resource manager: Relation between YARN Containers and Spark Executors,纱线容器的数量应等于火花应用的执行器数量。但是,我确实在运行中看到,Spark-UI环境选项卡中显示的num-executors为60,但是yarn中显示的容器数仅为37。我使用的是spark 2.2,spark.dynamicAllocation.enabled设置为false。我使用了Azure-HDinsight群集。有人可以解释吗?
答案 0 :(得分:0)
Spark-UI还显示了一些终止的执行程序。 它们可能已被Spark动态执行删除 或通过YARN抢占。 通常您可以判断执行者是否还活着。
它们与众不同的另一个原因是Spark驱动程序。 在“纱线群集”模式下,驱动程序也占用一个纱线容器。 因此,在这种情况下,您也会看到+1容器差异。