In this section, we will briefly discuss Mesos and Kubernetes at a conceptual level. The Spark framework can be deployed through Apache Mesos, YARN, Spark Standalone, or the Kubernetes cluster manager, as depicted:
Mesos can enable easy scalability and replication of data, and is a good unified cluster management solution for heterogeneous workloads.
To use Mesos from Spark, the Spark binaries should be accessible by Mesos and the Spark driver configured to connect to Mesos. Alternatively, you can also install Spark binaries on all the Mesos slaves. The driver creates a job and then issues the tasks for scheduling, while Mesos determines the machines to handle them.
Spark can run over Mesos in two modes: coarse-grained (the default) and fine-grained (deprecated in Spark 2.0.0). In the coarse-grained mode, each Spark executor runs as a single Mesos task...