Я пытаюсь запустить простую работу Oozie, чтобы извлекать данные из локальной базы данных MySQL, используя Sqoop. Ниже мой workflow.xml:Oozie Job не работает
<workflow-app name="sqoopoozietest" xmlns="uri:oozie:workflow:0.1">
<start to="sqoopconnect"/>
<action name="sqoopconnect">
<sqoop xmlns="uri:oozie:sqoop-action:0.2">
<job-tracker>horton-n2.hdp.local:8050</job-tracker>
<name-node>hdfs://horton-n1.hdp.local:8020</name-node>
<prepare>
<delete path="hdfs://horton-n1.hdp.local:8020/user/mannb/sqoopoozie/sqoopinput"/>
</prepare>
<configuration>
<property>
<name>mapred.compress.map.output</name>
<value>true</value>
</property>
</configuration>
<command>import --connect jdbc:mysql://horton-n1.hdp.local/sqooptest --table sampledata --username sqoop --password sqoop123 --target-dir --driver com.mysql.jdbc.Driver hdfs://horton-n1.hdp.local:8020/user/mannb/sqoopoozie/sqoopinput -m 1</command>
</sqoop>
<ok to = "sqoopend"/>
<error to = "kill"/>
</action>
<kill name = "kill">
<message>"Workflow failed."</message>
</kill>
<end name = "sqoopend" />
</workflow-app>
Основная ошибка, я получаю сообщение об ошибке от /var/log/oozie.log:
javax.servlet.jsp.el.ELException: Функция " wf: errorMessage "требует 1 аргумент, но был принят 0
Я думал, что это странно, поскольку я передаю аргумент в сообщение с именем kill:« Workflow failed. ».
Ниже мой job.properties файл:
nameNode=hdfs://horton-n1.hdp.local:8020
jobTracker=horton-n2.hdp.local:8050
queueName=default
#oozie.use.system.libpath=true
oozie.wf.application.path=${nameNode}/user/mannb/sqoopoozie/workflow.xml
Любая помощь очень ценится.
Я сделал это изменение и все еще получаю ту же ошибку в oozie.log. Я раскомментировал # oozie.use.system.libpath = true из job.properties, так как комментирование этого вызвало проблему с поиском Sqoop .jars. – user2432819
У меня была ошибка в моей команде импорта sqoop. После исправления он успешно выполнил, все еще не уверен, почему код ошибки не будет возвращаться должным образом. Это отвлекло меня от основной проблемы. Спасибо за ваши вклады. – user2432819
Это также отвлекало меня, но в сценарии ошибок оно должно работать, вам, возможно, придется дважды проверить один раз. –