elodina/accumulo-mesos

Name: accumulo-mesos

Owner: Elodina

Description: null

Created: 2016-04-20 18:57:00.0

Updated: 2016-04-20 18:57:01.0

Pushed: 2015-10-27 13:17:25.0

Homepage: null

Size: 1553

Language: JavaScript

GitHub Committers

UserMost Recent Commit# Commits

Other Committers

UserEmailMost Recent Commit# Commits

README

Accumulo Mesos Framework

Initialize and run Accumulo clusters as a Mesos framework.


DISCLAIMER This is a very early version of accumulo-mesos framework. This document, code behavior, and anything else may change without notice and/or break older installations.


Design

The accumulo-mesos framework launches accumulo server processes on mesos client machines using the $ACCUMULO_HOME/bin/accumulo <server> script. It automatically configures Java and Accumulo memory settings based on the mesos offer. The framework doesn't depend on Accumulo directly so it should be able to support the more recent versions of Accumulo. It is tested with 1.7.0

Current Status

Implemented
Near Term Tasks

Running the Framework

First you have to upload artifacts to HDFS (accumulo tarball, framework tarball, native libs .so) and copy that into your config JSON structures. (see dev/config)

Running the framework is then a two step process. First you must initialize the framework. See dev/init_framework.sh Then you can run the framework see dev\start_framework.sh

 -jar /vagrant/dev/dist/accumulo-mesos-dist-0.2.0-SNAPSHOT/accumulo-mesos-framework-0.2.0-SNAPSHOT-jar-with-dependencies.jar -h
e: accumulo-mesos [-b <arg>] [-cc <arg>] [-fc <arg>] [-h] [-i] [-m
   <arg>] [-n <arg>] [-P <arg>] [-t <arg>] [-v] [-z <arg>]
--bind-address <arg>   IP address of interface to bind HTTP interface
                       to
,--cluster <arg>       JSON file containing cluster configuration
,--framework <arg>     JSON file of entire framework configuration
--help                 Print this message and exit
--init                 If present, initialize new Accumulo instance
--master <arg>         Location of mesos master to connect to
--name <arg>           Name of this mesos framework
--port <arg>           Port number to serve HTTP interface
--tarball <arg>        URI of framework tarball
--version              Show version number
--zookeepers <arg>     List of Zookeeper servers
Configuration

See config examples in dev/config

Testing

A multi-vm Vagrantfile is provided along with many provisioning scripts to setup the VMs for testing the framework. See /dev directory for more info.

Thanks

Thanks to the cassandra-mesos project. I stole a lot of the project setup and framework design ideas from there.


This work is supported by the National Institutes of Health's National Center for Advancing Translational Sciences, Grant Number U24TR002306. This work is solely the responsibility of the creators and does not necessarily represent the official views of the National Institutes of Health.