Oozie Повторно запустить рабочий процесс с узла, на котором он был в последний раз убит.

Я использую действие MR в oozie. И хотите использовать функцию приостановки/возобновления, предоставляемую oozie на MR.

Проблема. Однако, когда мы вызываем «приостановить» на Oozie, это не убивает задание hadoop, а только обновляет состояние oozie, в то время как задание hadoop продолжает выполняться до завершения. Я хочу, чтобы задание hadoop было немедленно убито, когда рабочий процесс oozie приостановлен. Угадайте, что это невозможно, верно?

Итак, я решил, что могу убить рабочий процесс oozie и запустить его повторно. Но теперь проблема в том, что если в моем рабочем процессе есть 3 узла действий, я не хочу повторно запускать их все.

Я курю здесь или можно получить доступ к последнему успешному узлу oozie (который, скорее всего, хранится в базе данных mysql)?

Есть ли лучший подход к моему потворствующему варианту использования?

Заранее благодарю за помощь

P.S. Я не публикую свой рабочий процесс, потому что это простой рабочий процесс с несколькими действиями по уменьшению карты, здесь нет ракетостроения.


person curiouscoder    schedule 27.12.2014    source источник


Ответы (1)


Интерфейс командной строки oozie позволяет использовать флаг «-rerun» в следующем контексте:

oozie job -oozie http://localhost:11000/oozie -config job.properties -rerun 14-20090525161321-oozie-joe

Есть одна проблема с автоматизацией повторов, и она заключается в том, что вы должны предоставить список узлов действий для пропуска внутри файла job.properties, используя переменную oozie.wf.rerun.skip.nodes. Следующее взято из источника.

Только одна из следующих двух конфигураций является обязательной. Оба не должны быть определены одновременно oozie.wf.rerun.skip.nodes
oozie.wf.rerun.failnodes
Узлы пропуска представляют собой список имен действий, разделенных запятыми. Это могут быть любые узлы действий, включая узел принятия решений.
Допустимое значение oozie.wf.rerun.failnodes — true или false. Если используется защищенная версия Hadoop, необходимо указать следующие два свойства, а также mapreduce.jobtracker.kerberos.principal dfs.namenode.kerberos.principal.

Чтобы получить автоматизацию, возможно, вам стоит потратить время на добавление в файл свойств после завершения действия, используя либо сценарий оболочки, либо внедрение его непосредственно в ваши задания MR.

person Ryan Bedard    schedule 02.01.2015