Permalink
Switch branches/tags
Nothing to show
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
6 lines (3 sloc) 1.62 KB

Mesos can run in fault-tolerant mode, in which multiple Mesos masters run simultaneously, with one of them being the active master, and the others acting as stand-bys ready to take over if the active master fails. Mesos uses Apache ZooKeeper in to elect a new active master.

Fault-tolerant mode requires Mesos to be built with ZooKeeper. This can be done with the configure option --with-included-zookeeper, which will ensure that ZooKeeper (which resides in the third_party directory) gets compiled. It is also possible to run Mesos with an external ZooKeeper by using the configure option --with-zookeeper=DIR, setting DIR to the directory of the external ZooKeeper.

To run Mesos in fault-tolerant mode, ZooKeeper has to be up and running. The script third_party/zookeeper-*/bin/zkServer.sh can be used to launch ZooKeeper (see the ZooKeeper documentation for more information). Once ZooKeeper is running, the master daemon, slave daemon(s), and the framework schedulers have to be passed a URL to the running ZooKeeper instance. The URL is of the form zoo://host1:port1,host2:port2/znode, where the host:port pairs are ZooKeeper servers and znode is a path to a znode (ZooKeeper’s equivalent of a directory) for use by Mesos. It is also possible to use the URL zoofile://filename/znode, in which case filename should contain one host:port pair per line. This URL replaces the Mesos master URL (i.e. mesos://) which is passed when Mesos is not running in fault-tolerant mode. Multiple Mesos masters can be executed this way. Mesos will ensure, through ZooKeeper, that only one of them is the active master at any given time.