2016-01-26 3 views
1

Я пытаюсь написать простой рабочий процесс Oozie для выполнения простого сценария улья. Скрипт улья отлично работает без каких-либо проблем, но возникает проблема с выполнением рабочего потока.Ошибка рабочего потока Oozie

workflow.xml, как показано ниже:

<workflow-app xmlns="uri:oozie:workflow:0.4" name="nielsen_dma_xref_intr_dly_load_wf"> 
 

 
<credentials> 
 
<credential name="hive2_cred" type="hive2"> 
 
<property> 
 
<name>hive2.jdbc.url</name> 
 
<value>${hive2_jdbc_uri}</value> 
 
</property> 
 
<property> 
 
<name>hive2.server.principal</name> 
 
<value>${hive2_server_principal}</value> 
 
</property> 
 
</credential> 
 
</credentials> 
 

 
<start to="nielsen_dma_xref_intr_dly_load_wf_start"/>  
 

 
<action name="hive_load_nielsen_dma_xref_oozie" cred='hive2_cred'> 
 
<hive2 xmlns="uri:oozie:hive2-action:0.1"> 
 
<job-tracker>${jobTracker}</job-tracker> 
 
<name-node>${nameNode}</name-node> 
 
<job-xml>${hiveSiteXML}</job-xml> 
 
<jdbc-url>${jdbc_hive}</jdbc-url> 
 
<password>${password}</password> 
 
<script>${scripts}/nielsen_dma_xref_load.hql</script> 
 
<param>db_dbname_dbname=${db_dbname}</param> 
 
</hive2> 
 
<ok to="hive_load_nielsen_dma_xref_oozie"/> 
 
<error to="fail"/> 
 
</action> 
 

 
<kill name="fail"> 
 
<message>Workflow failed, error message[${wf:errorMessage(wf:lastErrorNode())}]</message> 
 
</kill> 
 

 
<end name="nielsen_dma_xref_intr_dly_load_wf_completed"/> 
 

 
</workflow-app>

Все файлы помещаются под /user/kchandr2/wf папку в HDFS

Я выполнение wrokflow с помощью команды oozie job -oozie http://<<hostname>>:11000/oozie -config /home/kchandr2/wf/nielsen_dma_xref_intr_dly_load_wf.properties -run -verbose >> /home/kchandr2/wf/Logs/nielsen_dma_xref_intr_dly_load_wf_$(date '+%Y%m%d').log 2>&1, где файл свойств помещается в локальный каталог /home/kchandr2/wf

Я получаю Error: E0706 : E0706: Node cannot transition to itself node [hive_load_nielsen_dma_xref_oozie]

ответ

1

В вашем hive2 действия

<action name="hive_load_nielsen_dma_xref_oozie" cred='hive2_cred'> 

у вас есть "OK" переход на тот же узел действия

<ok to="hive_load_nielsen_dma_xref_oozie"/> 

Этот не допускается. Вот почему вы получите ошибку:

Error: E0706 : E0706: Node cannot transition to itself node [hive_load_nielsen_dma_xref_oozie] 

Oozie Workflows являются DAGs (прямой ациклический граф). У вас не может быть циклов.