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 ). Все остальное будет сделано из виртуальной машины.
git clone https://github.com/apache/incubator-aurora cd incubator-aurora vagrant up
Виртуальным машинам понадобится некоторое время для раскрутки, поэтому зависайте крепко.
Once the virtual machines are launched you will have your command prompt back and ready to go.
There are 5 vms that are launched: devtools, zookeeper, mesos-master, mesos-slave and aurora-scheduler and they are all configured and networked together (for more info on this check out the Vagrantfile).
Next step is to create an app on the scheduler to provision it to the Mesos cluster that is running.
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
Now go to your browser and pull up http://192.168.33.5:8081/scheduler/www-data/prod/hello and you’ll see your job running
Basically all of what is happening is in the configuration
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')]
It is an exciting time for virtualization and resource scheduling and process provisioning within infrastructures. It is all open source so go dig in and see how it all works for yourself.