Executors and Cluster Managers

Executors, Cores and Cluster Managers

Executors are worker JVMs started for one application. Each has a number of cores, which here means task slots: an executor with four cores runs four tasks at once. Executors also keep cached partitions and write shuffle files. The cluster manager hands out the machines: Spark 129 's own Standalone manager, Hadoop 129 YARN or Kubernetes 5,150 (Master URLs and Deploy Modes lists their master URLs); Mesos support was removed in Spark 4.0.

A Spark application: one driver, a cluster manager and executors with task slots
A Spark application: one driver, a cluster manager and executors with task slots

Size executors with three to five cores each rather than one huge JVM per machine: very large heaps suffer long garbage-collection pauses, and one-core executors each hold their own copy of every broadcast table.