<commit_before># Riak Mesos Framework

An [Apache Mesos](http://mesos.apache.org/) framework for [Riak KV](http://basho.com/products/riak-kv/), a distributed NoSQL key-value data store that offers high availability, fault tolerance,
operational simplicity, and scalability.

## Architecture

### Scheduler

The Riak Mesos Framework scheduler will attempt to spread Riak nodes across as many different
mesos agents as possible to increase fault tolerance. If there are more nodes requested than
there are agents available, the scheduler will then start adding more Riak nodes to existing
agents.

![Architecture](docs/RiakMesosFramework.png)

### Director

Due to the nature of Apache Mesos and the potential for Riak nodes to come and
go on a regular basis, client applications using a Mesos based cluster must
be kept up to date on the cluster's current state. Instead of requiring this
intelligence to be built into Riak client libraries, a smart proxy application named
`Director` has been created which can run alongside client applications.

![Director](docs/RiakMesosControlFrame.png)

For installation and usage instructions related to the Riak Mesos Director, please read [docs/DIRECTOR.md](docs/DIRECTOR.md)

## Usage

### Installation

The Riak Mesos Framework can be configured in a few different ways depending on the restraints of
the Mesos cluster.
<commit_msg>docs docs docs<commit_after># Riak Mesos Framework

An [Apache Mesos](http://mesos.apache.org/) framework for [Riak KV](http://basho.com/products/riak-kv/), a distributed NoSQL key-value data store that offers high availability, fault tolerance,
operational simplicity, and scalability.

## Quick Links

* [Architecture](#architecture)
    * [Scheduler](#scheduler)
    * [Director](#director)
* [Usage](#usage)
    * [Installation](#installation)
        * [DCOS Setup](#dcos-setup)
        * [Marathon Setup](#marathon-setup)
        * [Manual Setup](#manual-setup)
    * [Riak Cluster Configuration](#riak-cluster-configuration)
    * [CLI Tool](#cli-tool)
    * [HTTP API](docs/HTTP-API.md)
* Documentation
    * Development
        * [Development Guide](docs/DEVELOPMENT.md)
        * [Development Setup](docs/DEVELOPMENT-SETUP.md)
    * [Director](docs/DIRECTOR.md)
    * [HTTP API](docs/HTTP-API.md)

## Architecture

### Scheduler

The Riak Mesos Framework scheduler will attempt to spread Riak nodes across as many different
mesos agents as possible to increase fault tolerance. If there are more nodes requested than
there are agents available, the scheduler will then start adding more Riak nodes to existing
agents.

![Architecture](docs/RiakMesosFramework.png)

### Director

Due to the nature of Apache Mesos and the potential for Riak nodes to come and
go on a regular basis, client applications using a Mesos based cluster must
be kept up to date on the cluster's current state. Instead of requiring this
intelligence to be built into Riak client libraries, a smart proxy application named
`Director` has been created which can run alongside client applications.

![Director](docs/RiakMesosControlFrame.png)

For installation and usage instructions related to the Riak Mesos Director, please read [docs/DIRECTOR.md](docs/DIRECTOR.md)

## Usage

### Installation

The Riak Mesos Framework can be configured in a few different ways depending on the restraints of
the Mesos cluster.

{'fraction_non_alphanumeric': 0.078908335805399, 'fraction_numerical': 0.0, 'mean_word_length': 4.667226890756303, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 3, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '2688835', 'n_tokens_mistral': 969, 'n_tokens_neox': 895, 'n_words': 391}