Hi Seb,
Not sure what is the cause.
Can you test by replacing this
<exec>${script}</exec> with <exec>./result_import.pl</exec>
It could be possible "." is not in PATH. You can also debug by running "echo
$PATH".
Regards,
Mohammad
On Friday, June 20, 2014 5:13 AM, "Gäde, Sebastian" <[email protected]>
wrote:
Hi all,
I'm trying to run a Perl script using the shell action. But it is always
failing to
java.io.IOException: Cannot run program "result_import.pl" (in directory
/home/hduser/hadoop/mapred/nodemanager/usercache/hduser/appcache/application_1403241782872_0041/container_1403241782872_0041_01_000001"):
error=2, Datei oder Verzeichnis nicht gefunden [=File or Directory not found]
This is the shell part of my workflow.xml:
<shell xmlns="uri:oozie:shell-action:0.1">
<job-tracker>${jobTracker}</job-tracker>
<name-node>${nameNode}</name-node>
<configuration>
<property>
<name>mapreduce.job.queue.name</name>
<value>${queueName}</value>
</property>
</configuration>
<exec>${script}</exec>
<file>${scriptPath}#${script}</file>
</shell>
and my job.properties:
oozieProjectRoot=${nameNode}/apps/cdrreader
oozie.wf.application.path=${oozieProjectRoot}
script=result_import.pl
scriptPath=${oozieProjectRoot}/result_import.pl
I am, however, able to exec 'ls' with argument '-la' leaving all other options
as shown above:
Stdoutput lrwxrwxrwx 1 hduser hadoop 68 Jun 20 13:04 result_import.pl ->
/home/hduser/hadoop/mapred/nodemanager/filecache/36/result_import.pl
This confuses me as there seems to be a link named result_import.pl, so why
can't I exec it?
Thanks!
Seb.