I am running oozie example following this link

https://github.com/jrkinley/oozie-examples/blob/master/README.md

My *Job.properties file* is

nameNode=${hadoop.name.node}
jobTracker=${hadoop.job.tracker}

queueName=default
oozie.use.system.libpath=true

oozie.wf.application.path=/workflows/oozie-examples

my *config-default.xml* is
<!-- Default values for the workflow job parameters -->
<configuration>
<property>
<name>jobTracker</name>
<value>localhost.localdomain:8021</value>
</property>
<property>
<name>nameNode</name>
<value>hdfs://localhost.localdomain:8020</value>
</property>
<property>
<name>queueName</name>
<value>default</value>
</property>
</configuration>


my *workflow.xml *
<workflow-app name="example-workflow" xmlns="uri:oozie:workflow:0.2">
<start to="ctrl-jumpto" />

<!-- Decision node to allow different entry points into the workflow. To
jump to a specific point in the workflow pass "-D jump.to=[single|parallel]"
-->
<decision name="ctrl-jumpto">
<switch>
<case to="mr-wordcount">
${wf:conf("jump.to") eq "single"}
</case>
<case to="sub-wf-wordcount">
${wf:conf("jump.to") eq "parallel"}
</case>
<case to="ssh-hadoop-get">
${wf:conf("jump.to") eq "ssh"}
</case>
<default to="mr-wordcount" />
</switch>
</decision>

<!--
SSH action example
 Note: the oozie users public key must be added to the users
~/.ssh/authorized_keys2
file on the destination server. E.g:
 On Oozie server:
sudo -u oozie ssh-keygen -t rsa
sudo -u oozie scp /var/lib/oozie/.ssh/id_rsa.pub kinley@localhost
:/home/kinley/.ssh/oozie_id_rsa.pub
 On destination server:
sudo cat /home/kinley/.ssh/oozie_id_rsa.pub >>
/home/kinley/.ssh/authorized_keys2
sudo rm -f /home/kinley/.ssh/oozie_id_rsa.pub
-->
<action name="ssh-hadoop-get">
<ssh xmlns="uri:oozie:ssh-action:0.1">
<host>kinley@localhost</host>
<command>hadoop</command>
<args>fs</args>
<args>-copyToLocal</args>
<args>${hdfsPath}</args>
<args>${localPath}</args>
</ssh>
<ok to="example-workflow-end" />
<error to="kill" />
</action>

<!-- Sub-workflow which runs two WordCount MapReduce jobs in parallel -->
<action name="sub-wf-wordcount">
<sub-workflow>
<app-path>${nameNode}/workflows/oozie-examples/sub-workflows/sub-workflow.xml
</app-path>
<propagate-configuration />
</sub-workflow>
<ok to="example-workflow-end" />
<error to="kill" />
</action>

<!-- WordCount MapReduce job -->
<action name="mr-wordcount">
<map-reduce>
<job-tracker>${jobTracker}</job-tracker>
<name-node>${nameNode}</name-node>
<prepare>
<delete path="${nameNode}/workflows/oozie-examples/data/output/wc0" />
</prepare>
<job-xml>conf/wordcount-mr-config.xml</job-xml>
<configuration>
<!-- If you need to do any custom setup before launching the MapReduce
action you can override the launcher by setting this property. -->
<!-- <property> <name>oozie.launcher.action.main.class</name>
<value>com.cloudera.examples.oozie.action.CustomLauncher</value>
</property> -->
<property>
<name>mapred.input.dir</name>
<value>${nameNode}/workflows/oozie-examples/data/*.txt
</value>
</property>
<property>
<name>mapred.output.dir</name>
<value>${nameNode}/workflows/oozie-examples/data/output/wc0
</value>
</property>
<property>
<name>mapred.job.queue.name</name>
<value>${queueName}</value>
</property>
</configuration>
</map-reduce>
<ok to="example-workflow-end" />
<error to="kill" />
</action>

<kill name="kill">
<message>Workflow failed with error message ${wf:errorMessage()}
</message>
</kill>

<end name="example-workflow-end" />
</workflow-app>

my hdfs *directory structure *

/workflows/oozie-examples/oozie-examples/job.properties
/workflows/oozie-exmples/oozie-examples/workflow.xml
/workflows/oozie-exmples/oozie-examples/config-default.xml

and my local *directory structure is *
cloudera/Desktop/oozie-examples-master/target/oozie-example/job.properties
and similarly workflow and config-default file

while running this job the progress on oozie dashbord on stuck on 75% and
log give me this errors

Name: *mr-wordcount*
Type: *map-reduce*
Status: ERROR
Error Code: IllegalArgumentException
Error Message: *IllegalArgumentException IllegalArgumentException: null*

Reply via email to