2015-10-14 2 views
2

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

Подробно: каждая задача состоит из 3-4 процессов, которые содержат докер (каждый процесс представляет собой команду запуска докера). Все процессы должны выполняться на одном сервере.

Количество задач, о которых мы говорим, это очередные серии из нескольких сотен задач одновременно.

Я посмотрел на несколько решений, все из них на основе Mesos:

  • Chronos - Похоже, он будет колебаться при высокой нагрузке и в любом случае более направлен на повторяющемся (CRON) рабочие места. Хотя мне нужна единовременная (тяжелая) работа.
  • Пользовательский Mesos FW - Кажется низким уровнем, поскольку для моих нужд мне потребуется написать механизмы планирования и повторного запуска, я бы сохранил это для последней инстанции.
  • Aurora - Это кажется многообещающим, поскольку каждая задача выполняется на одном узле и состоит из нескольких процессов. Мне здесь не хватает пары таких: Aurora, похоже, не может выполнять несколько задач как часть одной работы. Поскольку мои задачи похожи на разные входные данные, я мог бы использовать одно задание со многими (скажем 400) экземплярами, и первый процесс каждой задачи (роль которого заключается в загрузке ввода из S3), может загрузить другой набор, основанный на идентификаторе экземпляра , Это подводит меня к другой проблеме: я не могу найти рабочий пример использования {{mesos.instance}} в файлах .aurora, может ли кто-нибудь дать мне пример?

Спасибо за все рыбами людей

ответ

2

Вы также мог бы посмотреть на Kubernetes (который также может работать в качестве framework in Mesos). У Kubernetes есть концепция Pods, которые в основном представляют собой набор сосудов, расположенных совместно. Таким образом, в вашем случае контейнер будет состоять из ваших 3-4 процессов/контейнеров, а затем эти контейнеры можно масштабировать вверх/вниз.

Короткие комментарии по поводу других решений вы упомянули:

  • Chronos: Не совсем таргетинг случай использования
  • Пользовательские FW: На самом деле не так уж и сложно, но хороший вызов, чтобы сохранить это в крайнем случае.
  • Aurora: Очень мощный, но также сложный каркас
  • Marathon (о котором вы не упоминали): предназначено для долгосрочных приложений, которые можно легко масштабировать вверх и вниз.
+0

Во-первых, спасибо Что касается марафона, я понимаю, что это своего рода init.d для Mesos. Я не ищу службу, а скорее и приложение. Поэтому я не думал, что это подойдет. –

+0

Согласитесь, просто имейте в виду, если это то, от чего вы всегда хотите, чтобы небольшое количество экземпляров запускалось, а затем лопнуло на определенные события (т. Е. Увеличило количество экземпляров), это может быть интересно. – js84

1

В дополнение к отличным другой ответ, вы можете проверить два Сигмы Cook, которые они только недавно открытым исходным кодом, но используют в прод в масштабе на некоторое время.

+0

Хороший совет, я лично его не проверял до сих пор :-). Ограничение совместного размещения, по-видимому, красиво отображает на кубернетовые стручки, не обнаруживает, имеет ли повар аналогичные примитивы. – js84

Смежные вопросы