I have a Spark application that uses Cassandra. I want to setup a co-located deployment so that the Spark nodes will have local access to C* to improve performance. In a traditional setup, I would've installed C* manually on my servers and then install Spark standalone on those same nodes.
But I would like to make use of Apache Mesos to manage my cluster. Is there anyway in Mesos to get this done, so that Mesos will run both C* and Spark on the same nodes?
I'm not sure Marathon constraints do the job if you use Spark framework for Mesos, because it's always a framework's scheduler which decides where to launch tasks. You may try to launch C* and Spark jobs on same nodes via Marathon only, but it may not be as flexible as using dedicated frameworks. We have ideas to address locality in so-called "Infrastructure frameworks", but this is WIP.