All Projects → mesosphere → mesosaurus

mesosphere / mesosaurus

Licence: Apache-2.0 License
Mesos task load simulator framework for (cluster and Mesos) performance analysis

Programming Languages

scala
5932 projects
C++
36643 projects - #6 most used programming language
Makefile
30231 projects

Projects that are alternatives of or similar to mesosaurus

cd-demo
A continuous delivery demo using Jenkins on DC/OS.
Stars: ✭ 36 (-37.93%)
Mutual labels:  dcos, dcos-orchestration-guild
mesos-utils
Utilities for building distributed systems on top of mesos
Stars: ✭ 24 (-58.62%)
Mutual labels:  dcos, dcos-orchestration-guild
scala-sbt-mesos-framework.g8
No description or website provided.
Stars: ✭ 23 (-60.34%)
Mutual labels:  dcos, dcos-orchestration-guild
chronos-utils
Command line utilities for interacting with Airbnb Chronos
Stars: ✭ 31 (-46.55%)
Mutual labels:  dcos, dcos-orchestration-guild
Marathon
Deploy and manage containers (including Docker) on top of Apache Mesos at scale.
Stars: ✭ 4,035 (+6856.9%)
Mutual labels:  dcos, dcos-orchestration-guild
marathon-example-plugins
Example Plugins for Marathon Plugin Interface
Stars: ✭ 22 (-62.07%)
Mutual labels:  dcos, dcos-orchestration-guild
docker-mesos-marathon-screencast
The scripts used in the Docker Clustering on Mesos with Marathon screencast.
Stars: ✭ 51 (-12.07%)
Mutual labels:  dcos, dcos-orchestration-guild
microservices-demo.github.io
The Microservices Demo website.
Stars: ✭ 65 (+12.07%)
Mutual labels:  dcos
dcos-deploy
Deploy, manage and orchestrate services and apps on DC/OS
Stars: ✭ 21 (-63.79%)
Mutual labels:  dcos
dcos-net
A networking layer of DC/OS
Stars: ✭ 44 (-24.14%)
Mutual labels:  dcos
mesos-deb-packaging
Mesos package for Debian, Ubuntu, CentOS, RHEL, and Fedora
Stars: ✭ 58 (+0%)
Mutual labels:  dcos
reactive-graphql
A GraphQL implementation based around RxJS, very well suited for client side only GraphQL usage
Stars: ✭ 58 (+0%)
Mutual labels:  dcos
dcos-openvpn
No description or website provided.
Stars: ✭ 14 (-75.86%)
Mutual labels:  dcos
dcos-k8s-rust-skaffold-demo
A demo of pipelining Rust application development to Kubernetes on DC/OS with Skaffold.
Stars: ✭ 40 (-31.03%)
Mutual labels:  dcos
dcos-launch
Turn-key deployments of DC/OS on AWS (template and onprem), Azure, and GCE
Stars: ✭ 16 (-72.41%)
Mutual labels:  dcos
marathon-slack
Integration for Marathon's Event Bus with Slack
Stars: ✭ 42 (-27.59%)
Mutual labels:  dcos
container-service-discovery
Service Discovery in Container Orchestration Frameworks on AWS
Stars: ✭ 45 (-22.41%)
Mutual labels:  dcos
container-orchestration
A Benchmark for Container Orchestration Systems
Stars: ✭ 19 (-67.24%)
Mutual labels:  dcos
coreos-setup
Deprecated. See DCOS Community Edition for how to currently deploy Mesos on CoreOS
Stars: ✭ 27 (-53.45%)
Mutual labels:  dcos
dcos-oauth
DC/OS OAuth Service (only used up to DC/OS version 1.12)
Stars: ✭ 22 (-62.07%)
Mutual labels:  dcos

Mesosaurus

A benchmarking framework for Mesos.

Status

This is work in progress in its early stages. Expect bugs and missing features.

Overview

The Mesosaurus framework creates work loads that can be configured to simulate the behavior of other frameworks on a Mesos cluster.

Goals

We intend to come up with configurations that approximate Marathon, Chronos, Hadoop, MPI, Storm, Spark, and many others. By running multiple instances of Mesosaurus concurrently, it should be possible to simulate large production systems comprising of several frameworks competing for resources. It is our goal that Metrics from such runs can then be used for cluster and Mesos core performance analysis.

Current Features

  • Poisson-distributed task arrival times.
  • Normal/Gauss-distributed task durations and resource consumptions.
  • Tasks that claim resource offers and use up computer resources in the amounts specified.
  • A configurable load factor for actual CPU load.
  • Automated provisioning of the task executor binary.
  • Configurable task failure rate. No manual installation steps on any slave nodes necessary.

Planned Features

  • Read in external traces from other systems and create tasks to simulate the recreation of past scenarios.
  • Store traces.
  • Real-time plotting of interesting metrics.

Installation

  1. Install Mesos on a cluster - or simply on a single machine if you just want to try it out. In any case, is easiest to follow the instructions at Mesosphere to do this.
  2. Download, install and run the latest version of Mesosaurus:
    
    TODO
     

Building from Source

  1. Check out the latest source code from its git repository:

    
     git clone https://github.com/mesosphere/mesosaurus.git
     
  2. Build the task executor, which is written in C++.

    
     cd mesosaurus/task
     make
     
  3. Download and install libraries that Mesosaurus depends on and translate the Scala source code to bytecode:

    
     cd mesosaurus/
     sbt compile
     
  4. If you have a Mesos master running on your local machine, check there is entry in /etc/hosts: <real machine ip> <hostname> then, you can simply execute Mesosaurus with default values for all settings:

    
     cd mesosaurus/
     sbt run
     
  5. As a more complex example, you can run 10 tasks that take on average 1 second and arrive on average every 2 seconds on a Mesos installation with its master at a specified IP address and port:

    
     sbt "run -tasks 10 -duration 1000 -arrival 2000 -master 127.0.0.1:5050"
     

Eclipse Support

  1. Install ScalaIDE for Eclipse.
  2. Install sbteclipse.
  3. To create an eclipse project that you can import into Eclipse for Mesosaurus development or simply for source code browsing:
    
     sbt eclipse
     
    This creates a file with the name ".project" in the Mesosaurus directory.
  4. Import the Mesosaurus project using the Import Wizard in Eclipse, indicating Existing Projects into Workspace and selecting your Mesosaurus directory as the base of your existing project.

Usage

Execute the Mesosaurus program just to peruse a list of its available command line options:


sbt "run -h"

Coding Conventions

We try to follow the usual Scala Style Guide, but no TAB character is allowed anywhere in source code.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].