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 для определения услуг
- Проверка здоровья
- Отказ домена разнообразия
- Мгновенная подготовка
Во-первых, вам нужно убедиться, что у вас установлены бродячие и виртуальные блоки. Если они еще не установлены, установите их, пожалуйста.
- Установите Vagrant http://www.vagrantup.com/
- Установите виртуальную коробку 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, и вы увидите, что ваша работа запущена
В основном все, что происходит, находится в конфигурации
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' )] |
Это захватывающее время для виртуализации, планирования ресурсов и обеспечения процессов в инфраструктурах. Это все с открытым исходным кодом, так что покопайтесь и посмотрите, как все это работает для вас.