<commit_before># roger-mesos

This repo contains everything you need to set up a complete Mesos cluster with the following components -

* [zookeeper](https://zookeeper.apache.org/)
* [mesos](http://mesos.apache.org/) (masters + slaves)
* [marathon](https://mesosphere.github.io/marathon/)
* [chronos](http://mesos.github.io/chronos/)
* [docker](https://www.docker.com/) (on the slaves)
* [haproxy](http://www.haproxy.org/) + [roger-bamboo](https://github.com/seomoz/roger-bamboo) (for load-balancing/proxy)

It also contains examples to show how to set up single as well as multi-node clusters using Vagrant VMs (see [vagrant/](vagrant)).

### Pre-requisites
* [Ansible](http://docs.ansible.com/ansible/intro.html) is installed on the control machine (prior knowledge of [ansible](http://docs.ansible.com/ansible/index.html) helps.)
* Inventory (aka a set of host machines) exists and have ubuntu 14.0.4 LTS along with openssh-server installed.
* Sudo access to each of the host machines is available.

### Steps to get the cluster up and running
* Ensure that an inventory file exists with the list of masters, slaves, etc. (see an existing hosts file in the hosts dir under [vagrant/single_node or vagrant/multi_node](vagrant).)
* Run the following commands (*WARNING:* the first command below will reboot the hosts):
```
$ ansible-playbook -i <path-to-hosts-file> --user=<user> --ask-pass --ask-sudo-pass --extra-vars="restart_machine=true" base.yml
$ ansible-playbook -i <path-to-hosts-file> --user=<user> --ask-pass --ask-sudo-pass zookeeper-nodes.yml
$ ansible-playbook -i <path-to-hosts-file> --user=<user> --ask-pass --ask-sudo-pass --extra-vars="mesos_cluster_name=<cluster-name-to-use>" master-nodes.yml
$ ansible-playbook -i <path-to-hosts-file> --user=<user> --ask-pass --ask-sudo-pass marathon-nodes.yml
$ ansible-playbook -i <path-to-hosts-file> --user=<user> --ask-pass --ask-sudo-pass chronos.yml<commit_msg>Minor readme changes.<commit_after># roger-mesos

This repo contains everything you need to set up a complete Mesos cluster with the following components -

* [zookeeper](https://zookeeper.apache.org/)
* [mesos](http://mesos.apache.org/) (masters + slaves)
* [marathon](https://mesosphere.github.io/marathon/)
* [chronos](http://mesos.github.io/chronos/)
* [docker](https://www.docker.com/) (on the slaves)
* [haproxy](http://www.haproxy.org/) + [roger-bamboo](https://github.com/seomoz/roger-bamboo) (for load-balancing/proxy)

It also contains examples that use Vagrant VMs to illustrate how to set up a cluster (see [vagrant/](vagrant)).

### Pre-requisites
* [Ansible](http://docs.ansible.com/ansible/intro.html) is installed on the control machine (prior knowledge of [ansible](http://docs.ansible.com/ansible/index.html) helps.)
* Inventory (aka a set of host machines) exists and have ubuntu 14.0.4 LTS along with openssh-server installed.
* Sudo access to each of the host machines is available.

If you are only looking for a vagrant based cluster running on your machine for development/testing purposes go to the [vagrant/](vagrant) directory.

### Steps to get (a real) cluster up and running
* Ensure that an inventory file exists with the list of masters, slaves, etc. (see an existing hosts file in the hosts dir under [vagrant/single_node or vagrant/multi_node](vagrant)).
* Run the following commands (*_WARNING:_* the first command below will reboot the hosts):
```
$ ansible-playbook -i <path-to-hosts-file> --user=<user> --ask-pass --ask-sudo-pass --extra-vars="restart_machine=true" base.yml
$ ansible-playbook -i <path-to-hosts-file> --user=<user> --ask-pass --ask-sudo-pass zookeeper-nodes.yml
$ ansible-playbook -i <path-to-hosts-file> --user=<user> --ask-pass --ask-sudo-pass --extra-vars="mesos_cluster_name=<cluster-name-to-use>" master-nodes.yml
$ ansible-playbook -i <path-to-hosts-file> --user=<user> --ask-pass --ask-sudo-pass marathon-nodes.yml
$ ansible-playbook -i <path-to-hosts-file> --user=<user> --ask-pass --ask-sudo-pass chronos.yml
{'fraction_non_alphanumeric': 0.15186389792344257, 'fraction_numerical': 0.0020015011258443832, 'mean_word_length': 4.323568575233023, 'pattern_counts': {'":': 0, '<': 25, '<?xml version=': 0, '>': 25, 'https://': 8, 'lorem ipsum': 0, 'www.': 4, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '3883708', 'n_tokens_mistral': 1370, 'n_tokens_neox': 1300, 'n_words': 377}