Getting Started

Downloading Mesos

There are different ways you can get Mesos:

  1. Download the latest stable release from Apache (Recommended)

    $ wget http://www.apache.org/dist/mesos/0.20.0/mesos-0.20.0.tar.gz
    $ tar -zxf mesos-0.20.0.tar.gz
    
  2. Clone the Mesos git repository (Advanced Users Only)

    $ git clone http://git-wip-us.apache.org/repos/asf/mesos.git
    

System Requirements

  • Mesos runs on Linux (64 Bit) and Mac OSX (64 Bit).

Ubuntu 12.04

  • Following are the instructions for stock Ubuntu 12.04 64 Bit. If you are using a different OS please install the packages accordingly.

    # Ensure apt-get is up to date.
    $ sudo apt-get update
    
    # Install build tools.
    $ sudo apt-get install build-essential
    
    # Install OpenJDK java.
    $ sudo apt-get install openjdk-6-jdk
    
    # Install devel python.
    $ sudo apt-get install python-dev python-boto
    
    # Install devel libcurl
    $ sudo apt-get install libcurl4-nss-dev
    
    # Install devel libsasl (***Only required for Mesos 0.14.0 or newer***).
    $ sudo apt-get install libsasl2-dev
    
    # Install Maven (***Only required for Mesos 0.18.1 or newer***).
    $ sudo apt-get install maven
    
    # Install devel libapr1 (***Only required for Mesos 0.21.0 or newer***)
    $ sudo apt-get install libapr1-dev
    
    # Install devel libsvn (***Only required for Mesos 0.21.0 or newer***)
    $ sudo apt-get install libsvn-dev
    
  • If you are building from git repository, you will need to additionally install the following packages.

    # Install autotoconf and automake.
    $ sudo apt-get install autoconf
    
    # Install libtool.
    $ sudo apt-get install libtool
    

CentOS 6.5

  • Following are the instructions for stock CentOS 6.5. If you are using a different OS, please install the packages accordingly.
    Mesos 0.21.0+ requires subversion 1.8+ devel package which is not available by default by yum.
    Add one of the repo that has subversion-devel 1.8 available, i.e:
    
    Add new repo /etc/yum.repos.d/wandisco-svn.repo, with:
    
    [WandiscoSVN]
    name=Wandisco SVN Repo
    baseurl=http://opensource.wandisco.com/centos/6/svn-1.8/RPMS/$basearch/
    enabled=1
    gpgcheck=0
    
    $ sudo yum groupinstall -y "Development Tools"
    
    $ sudo yum install -y python-devel java-1.7.0-openjdk-devel zlib-devel libcurl-devel openssl-devel cyrus-sasl-devel cyrus-sasl-md5 apr-devel subversion-devel
    
    # Install maven.
    $ wget http://mirror.nexcess.net/apache/maven/maven-3/3.0.5/binaries/apache-maven-3.0.5-bin.tar.gz
    $ sudo tar -zxcf apache-maven-3.0.5-bin.tar.gz -C /opt/
    $ sudo ln -s /opt/apache-maven-3.0.5/bin/mvn /usr/bin/mvn
    

Building Mesos

    # Change working directory.
    $ cd mesos

    # Bootstrap (***Skip this if you are not building from git repo***).
    $ ./bootstrap

    # Configure and build.
    $ mkdir build
    $ cd build
    $ ../configure
    $ make

    # Run test suite.
    $ make check

    # Install (***Optional***).
    $ make install

Examples

  • Mesos comes bundled with example frameworks written in C++, Java and Python.
    # Change into build directory.
    $ cd build
    
    # Start mesos master (***Ensure work directory exists and has proper permissions***).
    $ ./bin/mesos-master.sh --ip=127.0.0.1 --work_dir=/var/lib/mesos
    
    # Start mesos slave.
    $ ./bin/mesos-slave.sh --master=127.0.0.1:5050
    
    # Visit the mesos web page.
    $ http://127.0.0.1:5050
    
    # Run C++ framework (***Exits after successfully running some tasks.***).
    $ ./src/test-framework --master=127.0.0.1:5050
    
    # Run Java framework (***Exits after successfully running some tasks.***).
    $ ./src/examples/java/test-framework 127.0.0.1:5050
    
    # Run Python framework (***Exits after successfully running some tasks.***).
    $ ./src/examples/python/test-framework 127.0.0.1:5050
    

NOTE: To build the example frameworks, make sure you build the test suite by doing make check.