2012-05-23 2 views
3

Я использую amazon EMR для некоторых интенсивных вычислений, но для начала вычислений требуется около 7 минут, есть ли какой-то умный способ сразу начать вычисление? Вычисление представляет собой поток python, начинающийся с пользовательского веб-сайта, поэтому я не могу позволить себе долгое время запуска.как ускорить amazon EMR bootstrap?

Возможно, я просто пропустил вариант в океане, который является амазоном AWS. Я просто хочу простоту запускать задания (это то, что я использовал EMR), масштабируемость и платить только за то, что я использую (и время запуска не полезно).

ответ

1

Адрес, использованный для размещения вашего источника данных?

Если на S3 (возможно), если у вас много маленьких файлов, это латентность каждого соединения (за каждый файл), который занимает время.

Если это единственная причина, то ваши 7 минут времени запуска будут переводить на ~ 5 минут чтения из S3 времени => ~ 1 Гб входных файлов на S3

+0

источник - это основной файл 30Mo плюс 5-6 других файлов конфигурации на стороне, поэтому я не думаю, что это проблема. – nraynaud

+0

Какие примеры вы используете? что-то меньшее, чем средние для основных узлов, приведет к плохой производительности. – newToFlume

2

Это вполне нормально, и есть немного вы можете это сделать. Я начинаю 100 кластеров узлов, и я видел, как они занимали 15 минут, прежде чем они начнут обрабатывать. Учитывая объем работы, которая происходит в фоновом режиме, я очень рад предоставить им 15 минут или около того, чтобы сконфигурировать кластер и прочитать любые данные, которые могут потребоваться. Природа зверя, я боюсь.

3

Я знаю, что это старый вопрос, но у меня есть некоторые идеи, которые я бы добавил к следующему поисковику, который находит эту тему в надежде ускорить время загрузки на Amazon EMR.

Некоторое время я задавался вопросом, почему мои кластеры заняли так много времени, как правило, около 15 минут. Это занимает довольно большой кусок времени для работы, которая обычно завершается менее чем за 1 час. Иногда он отталкивает работу за 1 час, но я думаю, что, к счастью, AWS не взимает плату за время полной загрузки.

Последние пару дней я заметил, что время запуска было улучшено. Вы видите, что спотовый рынок стал очень неустойчивым в апреле и в первую неделю мая. Обычно я запускаю свой кластер полностью из экземпляров пятен, поскольку отказ является вариантом, а экономия средств оправдывает технику в моем случае. Однако, после ожидания 14 часов для запуска кластеров, мне пришлось переключиться на OnDemand, у меня было столько терпения, но ночью обычно это превышает. Кластеры OnDemand начинаются примерно через 5 минут. Теперь, переключившись на пятно, когда сумасшествие, похоже, уменьшилось, я возвращаюсь к 15-минутному кластеру.

Итак, если вы используете экземпляры Spot на ваших Core или Master узлах, ожидайте более длительного времени запуска. Я буду экспериментировать с использованием небольшого набора OnDemand в ядре и дополнением большим количеством экземпляров пятен, чтобы узнать, помогает ли он запускать и лучше справляется с волатильностью рынка Spot.

+0

Интересно. Я использую все экземпляры пятен, и несколько раз начинаю довольно быстро (<10 минут в любом случае), а иногда и дольше (15 и подсчитываю мой текущий кластер). Я бы не подумал, что пятно против OnDemand повлияет на время запуска, но что я знаю? –

+0

Да, я тоже это видел, иногда это довольно быстро, но часто нет. В основном я предполагаю, что 7 минут для согласования спотовых экземпляров и 7 минут для загрузки. – AaronM

+0

Зачем нужно, чтобы экземпляры занимали больше времени? Похоже, что путь (анекдотически), но если ваша ставка превышает место, не должно быть никакой дополнительной задержки - несмотря на небольшую вероятность того, что ваша покупка подталкивает цену до того, как все узлы будут выделены. – Patrick

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