Статьи

Начало работы с Apache Mesos и Apache Aurora с использованием Vagrant

Apache Mesos — это менеджер кластеров, который обеспечивает эффективную изоляцию ресурсов и совместное использование в распределенных приложениях или средах. Думайте об этом как о «ядре» для вашего центра обработки данных. Пако Натан говорил об этом в одном из подкастов Hadoop .

Особенности:

  • Отказоустойчивый реплицируемый мастер с использованием ZooKeeper
  • Масштабируемость до 10000 узлов
  • Изоляция между задачами с Linux-контейнерами
  • Планирование нескольких ресурсов (память и процессор с учетом)
  • API Java, Python и C ++ для разработки новых параллельных приложений
  • Веб-интерфейс для просмотра состояния кластера

Apache Aurora — это планировщик сервисов, который работает поверх Mesos, позволяя вам запускать долговременные сервисы, использующие преимущества масштабируемости, отказоустойчивости и изоляции ресурсов Mesos. Apache Aurora в настоящее время является частью инкубатора Apache. Основное преимущество планировщика Mesos, такого как Aurora (и Marathon ), заключается в том, что не нужно беспокоиться об использовании API Mesos для использования преимуществ сетки. Ваше приложение может работать так, как оно работает сегодня, в то время как Mesos выясняет, на каких серверах его запускать и когда его масштабировать иначе, чем в планировщике.

Особенности:

  • Развертывание и планирование работ
  • Абстракция «работа» для связывания и управления задачами Mesos
  • Богатый DSL для определения услуг
  • Проверка здоровья
  • Отказ домена разнообразия
  • Мгновенная подготовка

Во-первых, вам нужно убедиться, что у вас установлены бродячие и виртуальные блоки. Если они еще не установлены, установите их, пожалуйста.

  1. Установите Vagrant http://www.vagrantup.com/
  2. Установите виртуальную коробку https://www.virtualbox.org/

Это все, что вам нужно (при условии, что у вас также установлен git ). Все остальное будет сделано из виртуальной машины.

1
2
3
git clone https://github.com/apache/incubator-aurora
cd incubator-aurora
vagrant up

Виртуальным машинам понадобится некоторое время для раскрутки, поэтому зависайте крепко.

После запуска виртуальных машин ваша командная строка вернется и будет готова к работе.

Запущено 5 виртуальных машин: devtools, zookeeper, mesos-master, mesos-slave и aurora-scheduler, и все они настроены и объединены в сеть (для получения дополнительной информации об этом проверьте Vagrantfile).

Следующим шагом является создание приложения в планировщике для предоставления его работающему кластеру Mesos.

1
2
3
4
5
6
vagrant ssh aurora-scheduler
vagrant@precise64:~$ cd /vagrant/examples/jobs/
vagrant@precise64:~$aurora create example/www-data/prod/hello hello_world.aurora
 INFO] Creating job hello
 INFO] Response from scheduler: OK (message: 1 new tasks pending for job www-data/prod/hello)
 INFO] Job url: http://precise64:8081/scheduler/www-data/prod/hello

Теперь перейдите в браузер и откройте http://192.168.33.5:8081/scheduler/www-data/prod/hello, и вы увидите, что ваша работа запущена

скрин-шот-2013-12-16-на-6-09-42-ам

В основном все, что происходит, находится в конфигурации

01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
hello = Process(
  name = 'hello',
  cmdline = """
    while true; do
      echo hello world
      sleep 10
    done
  """)
 
task = SequentialTask(
  processes = [hello],
  resources = Resources(cpu = 1.0, ram = 128*MB, disk = 128*MB))
 
jobs = [Service(
  task = task, cluster = 'example', role = 'www-data', environment = 'prod', name = 'hello')]

Это захватывающее время для виртуализации, планирования ресурсов и обеспечения процессов в инфраструктурах. Это все с открытым исходным кодом, так что покопайтесь и посмотрите, как все это работает для вас.