HI Savitha, You should be able to find a more specific error message in the log for the launcher job from the JT Web UI. Can you look there and paste the error here?
Though my guess is that the problem is with your shell script. Long story short, the shell action is executed on an arbitrary node in your cluster, so unless /home/hduser/wdetl/weatherETL.sh, /home/hduser/wdetl, and /home/hduser/wdetl/dist/WeatherData.jar exist on all nodes in your cluster, its not going to work reliably. You should instead put your shell script and any necessary files (e.g. WeatherData.jar) in HDFS with your workflow and include them with the <file> element so Oozie will take care of localizing them for you. Is there a reason your using a shell script to run a jar file instead of simply using the Java action to execute the jar directly? (though its still executed on an arbitrary node too, so what I said in the previous paragraph still applies). - Robert On Tue, Apr 23, 2013 at 3:19 AM, Savitha Devi Inbasekaran < [email protected]> wrote: > I am trying to run a shell script with jar file but I am getting an > exception "Can't open /home/hduser/wdetl/weatherETL.sh > Failing Oozie Launcher, Main class > [org.apache.oozie.action.hadoop.ShellMain], exit code [1]". The shell > script and oozie workflow are given below. > > > ------------ weatherETL.sh --------------- > #!/bin/bash > cd /home/hduser/wdetl > java -jar dist/WeatherData.jar > cd ~ > ------------oozie workflow---------- > <workflow-app xmlns="uri:oozie:workflow:0.2" name="weather-etl"> > > <start to="shell-etlforweather"/> > > <action name="shell-etlforweather"> > <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>sh</exec> > <argument>/home/hduser/wdetl/weatherETL.sh</argument> > > </shell> > <ok to="end"/> > <error to="fail"/> > </action> > <kill name="fail"> > <message>Node failed, error > message[${wf:errorMessage(wf:lastErrorNode())}]</message> > </kill> > <end name="end"/> > </workflow-app> > Thanks, > Savitha > >
