Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save wallyqs/ff6268465812d0ef34df to your computer and use it in GitHub Desktop.
Save wallyqs/ff6268465812d0ef34df to your computer and use it in GitHub Desktop.

Mesos & Deimos install

Ticket: https://issues.apache.org/jira/browse/MESOS-816

To get started with Docker/Marathon/Mesos, you need to install a new Mesos, a new Marathon, and Deimos, the bridge to Docker. You’ll also need Docker and the JVM. These instructions are for Ubuntu 13.10.

mkdir -p src
git clone https://github.com/mesosphere/mesos.git   src/
git clone https://github.com/mesosphere/marathon.git src/
git clone https://github.com/mesosphere/deimos.git  src/
  • Install Mesos prerequisites
sudo apt-get update
sudo apt-get install -y zookeeperd default-jre python-setuptools python-protobuf curl pip
curl -fL http://downloads.mesosphere.io/master/ubuntu/13.10/mesos_0.19.0-xcon3_amd64.deb -o /tmp/mesos.deb
sudo dpkg -i /tmp/mesos.deb
  • Install the updated Mesos Python egg, for use in authoring frameworks
curl -fL http://downloads.mesosphere.io/master/ubuntu/13.10/mesos_0.19.0-xcon3_amd64.egg -o /tmp/mesos.egg
sudo easy_install /tmp/mesos.egg
sudo pip install deimos
curl -fL http://downloads.mesosphere.io/marathon/marathon_0.5.0-xcon2_noarch.deb -o /tmp/marathon.deb
sudo dpkg -i /tmp/marathon.deb

To configure Mesos to use Deimos, you need to set the contents of two files:

sudo mkdir -p /etc/mesos-slave
echo /usr/local/bin/deimos | sudo dd of=/etc/mesos-slave/containerizer_path
echo external              | sudo dd of=/etc/mesos-slave/isolation

Installing Docker is documented on the Docker site. Here’s one way:

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 36A1D7869245C8950F966E92D8576A8BA88D21E9
sudo sh -c "echo deb https://get.docker.io/ubuntu docker main > /etc/apt/sources.list.d/docker.list"
sudo apt-get update
sudo apt-get install lxc-docker -y

It might be helpful to pre-cache the `libmesos` Docker image, used for custom executors:

sudo docker pull libmesos/ubuntu:13.10

At this point, you should take measures to ensure all services have started (or restarted). A reboot would be easiest.

To test that it seems to be working, try the Deimos integration tests:

If “$eth0_ip” does not work, try “$(hostname)”

./deimos/integration-test/test-suite "$eth0_ip":5050
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment