2017-02-11 6 views
5

(в соответствии с Why does the oozie luncher consume 2 yarn containers?)Запуск одного мастер приложения для oozie процесса

У меня есть кластер с 1900 ядра и 11TB RAM. И у меня есть следующая структура рабочего процесса для моего Oozie WF:

  • Приблизительно 300-400 subworkflows с таким же структурой, что будет работать параллельно (вилочным узел управления)
  • В этих подпотоках один за другим запустить несколько задач (Java действий, искровые задачи, действие оболочки)
  • некоторые подпотоков могут выполнять в течение 3-5 минут, некоторые из них - 2-3 часа (длинные термина искровых задач)

Вопрос в том, можно ли использовать эти подзадачи в одиночный контейнер (мастер приложения)? По умолчанию для каждого подзаголовка oozie/yarn использует два ядра: один для AM и один для задачи сокращения карты (контроллер). И это узкое место - 1/3 всех ядер моего кластера, используемых только для управления, но не для вычисления.

+0

* «1/3 всех ядер» * - Я предполагаю, что вы имеете в виду логические «vcores», выделенные YARN, а не настоящие ядра процессора. Если ваш кластер работает при «полной загрузке», но реальное использование ЦП низкое, вы можете захотеть комбинировать - ср. https://hortonworks.com/blog/managing-cpu-resources-in-your-hadoop-yarn-clusters/ _ "... Количество входов должно быть задано администратором ... Общая рекомендация - установить это количество физических ядер на узле, но администраторы могут взломать его, если они хотят запускать дополнительные контейнеры на узлах с более быстрыми процессорами ... »_ - или если у них много контейнеров AM. –

+0

yep, я имею в виду vCores, а не настоящие CPU –

+0

Я также рекомендовал бы следить за функцией Oozie on Yarn (OOZIE-1770). –

ответ

2

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

Добавить в поместье oozie-site.xml.

<property> 
    <name>oozie.action.launcher.mapreduce.job.ubertask.enable</name> 
    <value>true</value> 
</property> 
+1

да, это выглядит как лучшее решение для меня –

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