Mesos includes a set of scripts in @MESOS_HOME/deploy@ that can be used to deploy it on a cluster. To use these scripts, you need to create two configuration files: @MESOS_HOME/conf/masters@, which should list the hostname(s) of the node(s) you want to be your masters (one per line), and @MESOS_HOME/conf/slaves@, which should contain a list of hostnames for your slaves. You can then start a cluster with @deploy/start-mesos@ and stop it with @deploy/stop-mesos@.

It is also possible to set environment variables, ulimits, etc that will affect the master and slave. by editing @MESOS_HOME/deploy/mesos-env.sh@. One particularly useful setting is @LIBPROCESS_IP@, which tells the master and slave binaries which IP address to bind to; in some installations, the default interface that the hostname resolves to is not the machine's external IP address, so you can set the right IP through this variable.

Finally, the deploy scripts do not use ZooKeeper by default. If you want to use ZooKeeper (for multiple masters), you can do so by either editing @deploy/mesos-env.sh@ to set @MESOS_URL@ to a @zoo://@ or @zoofile://@ URL, or by editing @conf/mesos.conf@ to set the @url@ configuration parameter. Please see "Using ZooKeeper":Using-ZooKeeper.textile for details.

h1. Notes
* The deploy scripts assume that Mesos is located in the same directory on all nodes.
* If you want to enable multiple Unix users to submit to the same cluster, you need to run the Mesos slaves as root (or possibly set the right attributes on the @mesos-slave@ binary). Otherwise, they will fail to @setuid@.