title: Understand Spark: Cluster Manager, Master and Driver nodes
body: <p>Having read this <a href="https://stackoverflow.com/q/32621990/1374804">question</a>, I would like to ask additional questions:</p>
  
  <ol>
  <li>The Cluster Manager is a long-running service, on which node it is running?</li>
  <li>Is it possible that the Master and the Driver nodes will be the same machine? I presume that there should be a rule somewhere stating that these two nodes should be different?</li>
  <li>In case where the Driver node fails, who is responsible of re-launching the application? and what will happen exactly? i.e. how the Master node, Cluster Manager and Workers nodes will get involved (if they do), and in which order? </li>
  <li>Similarly to the previous question: In case where the Master node fails, what will happen exactly and who is responsible of recovering from the failure?</li>
  </ol>