We have covered the functional and exciting aspects of Spark and how it provides a whole range of APIs in the areas of streaming, machine learning and graph. However, we have not gone into the details of how does Spark work across multiple machines, which is necessary for working with bigger data sets. Spark framework is a cluster agnostic framework and can run on multiple clusters. In this chapter we are going to cover the following key topics:
- What is a Cluster?
- What is Standalone cluster mode?
- Deploying Spark on a Standalone cluster
- What is YARN?
- Deploying Spark on YARN
- What is Mesos?
- Deploying Spark on Mesos
- Optimization
I believe that while it is important to focus on the cool aspects of a data application like which algorithm to choose, how to build a data pipeline and so on, it is equal important to deploy the application so that the value from effort spent on building the application can be realized.
Let's get started.