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.

Reply via email to