#hadoop #workflow #oozie #oozie-coordinator #oozie-workflow
#hadoop #рабочий процесс #oozie #oozie-координатор #oozie-рабочий процесс
Вопрос:
Я использую Apache oozie. Я хочу пометить статус одного из действий оболочки как OK в моем рабочем процессе oozie. Он находится в рабочем состоянии.
Можем ли мы, пожалуйста, поделиться командой для использования в Apache Oozie для этого.
Ответ №1:
Вам не нужно явно устанавливать статус действия. Oozie автоматически делает это за вас на основе выполнения действия / задачи. Например, предположим, у вас есть действие оболочки, которое выглядит примерно так:
<workflow-app
xmlns="uri:oozie:workflow:0.3" name="shell-wf">
<start to="shell-node"/>
<action name="shell-node">
<shell
xmlns="uri:oozie:shell-action:0.1">
<job-tracker>${jobTracker}</job-tracker>
<name-node>${nameNode}</name-node>
<configuration>
<property>
<name>mapred.job.queue.name</name>
<value>${queueName}</value>
</property>
</configuration>
<exec>some-script.sh</exec>
<file>/user/src/some-script.sh</file>
</shell>
<ok to="end"/>
<error to="fail"/>
</action>
<kill name="fail">
<message>Shell action failed, error message[${wf:errorMessage(wf:lastErrorNode())}]</message>
</kill>
<end name="end"/>
</workflow-app>
Если /user/src/some-script.sh
выполнение выполнено успешно, Oozie пометит статус действия как ok
и успешно завершит задание. С другой стороны, если при выполнении скрипта возникает какая-либо ошибка, он будет помечен как error
немедленно завершающий задание и направлен. Если вы хотите не прерывать работу из-за любого неправильного выполнения кода в вашем скрипте, вы можете создать другое действие и направить Oozie следовать этому пути выполнения вместо немедленного прерывания рабочего процесса. Проверьте подробнее о действии оболочки Oozie.
Комментарии:
1. Я знаю, что oozie делает это. Мой вопрос в том, хотим ли мы вручную установить статус в OK, как нам это сделать? Это возможно в Airflow. Как и в моем первоначальном вопросе, я хочу знать, как мы можем достичь этого в Oozie?