Instalujemy Mesos’a!

Zgodnie z obietnicą, dzisiaj kolejny odcinek cyklu „Mesos – automatyzacja dla deweloperów”. Tym razem skupimy się na instalacji narzędzia na najważniejszych platformach.

mesos-header

Według dokumentacji Mesos działa na wszystkich platformach 64bit – Linux i OS X. Postanowiłem więc to sprawdzić na przykładzie Ubuntu 14.04 i OS X El Capitan.

Pierwszym krokiem jest przygotowanie systemu, czyli instalacja wymaganych komponentów. W przypadku Ubuntu wygląda to następująco:

# Update the packages.
$ sudo apt-get update
# Install a few utility tools.
$ sudo apt-get install -y tar wget git
# Install the latest OpenJDK.
$ sudo apt-get install -y openjdk-7-jdk
# Install autotools (Only necessary if building from git repository).
$ sudo apt-get install -y autoconf libtool
# Install other Mesos dependencies.
$ sudo apt-get -y install build-essential python-dev python-boto libcurl4-nss-dev libsasl2-dev libsasl2-modules maven libapr1-dev libsvn-dev

Jak widać są to w miarę standardowe pakiety zatem instalacja ich przebiega bezproblemowo i trwa kilkanaście minut, przynajmniej na platformie Azure, na której miałem możliwość zainstalowania środowiska.

Nieco inaczej postępujemy w przypadku OS X. W pierwszym kroku należy zainstalować tzw. Command Line Tools z pakietu Xcode:

xcode-select —-install

Jeśli nie chcemy całości pakietu Xcode, możemy zdecydować o instalacji jedynie narzędzi linii poleceń.

mesos

Teraz następuje najciekawsza część procesu czyli instalacja Homebrew.

ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

W tym kroku może się okazać niezbędne dodatkowe potwierdzenie licencji, o czym zostaniemy natychmiast powiadomieni w razie potrzeby. Na szczęście rozwiązanie jest proste:

sudo xcodebuild -license

W czasie instalacji pojawiają się różne drobne problemy, polegające na przykład na braku środowiska Java, ale ich rozwiązanie jest o tyle proste, że wraz z informacją o problemie dostajemy podpowiedź jak można go rozwiązać.

O ile polecenie samo w sobie jest proste i zrozumiałe, tak nawet największych fanatyków rozwiązań owocowych powinno choć trochę zainteresować, czymże jest Homebrew, który w pierwszym podejściu kojarzy się z domowym browarem. W rzeczywistości jest to darmowy, otwarty napisany w Ruby’m menedżer pakietów dla OS X. Zyskał swoją popularność dzięki łatwości używania i bardzo dobrej integracji z linią poleceń. Domyślnie Homebrew zostanie zainstalowany w /usr/local. Zapewne więcej na temat tego rozwiązania opiszę w którymś z artykułów, jako że osobiście uważam je za naprawdę godne uwagi. Podsumowując Homebrew nawet na stronie głównej wydawcy jest opisany jako The missing package manager for OS X. Zachęcam też do odwiedzenia strony http://brew.sh i samodzielnego rozpoznania technologii.

Tymczasem wracając do Mesos’a kończymy przygotowanie systemu OS X instalując wymagane pakiety:

brew install autoconf automake libtool subversion maven

I system jest gotowy. Możemy zatem pobrać i rozpakować Mesos’a

wget http://www.apache.org/dist/mesos/0.26.0/mesos-0.26.0.tar.gz
tar -zxf mesos-0.26.0.tar.gz

Na platformie testowej zajęło to kilka sekund. Teraz zostały tylko dwa kroki do pełnego sukcesu – konfiguracja i budowa pakietu:

cd mesos-0.26.0
mkdir build
cd build
../configure
make
make check
make install

Może okazać się, że mamy w tym kroku za mało pamięci operacyjnej. Wprawdzie na stronie głównej projektu nie jest jasno napisane ile tej pamięci potrzeba, to w dzisiejszym świecie maszyn wirtualnych dodanie jej nie jest nawet trochę trudne. Ja korzystałem z maszyny 2GB, co wystarczyło do procesu instalacji.

Kolejnym ciekawym krokiem jest sprawdzenie na przykładach, czy wszystko działa poprawnie o czym będziemy rozważać w następnym odcinku. Niech Mesos będzie z Wami !