Хороший способ справиться с ограничением кластера EMR

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

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

Любые указатели будут высоко оценены.


person user2890683    schedule 26.05.2014    source источник


Ответы (1)


Насколько я знаю, для этого нет инструментов, предоставляемых Amazon.

Вы можете либо запустить постоянный кластер и завершить его скриптом, если он простаивает какое-то время, либо перезапустить кластер по запросу. Конечно, для этого требуется какой-то инструмент мониторинга, работающий в фоновом режиме. Или вы можете реализовать очередь задач и убедиться, что в данный момент выполняется не более одной задачи.

Но все варианты вам придется реализовывать самостоятельно, хотя вроде бы это довольно просто и относительно легко сделать с помощью любого скриптового языка. У нас есть что-то похожее на второй вариант, написанное на питоне и работающее как сервис на выделенной машине.

person alko    schedule 27.05.2014