Hello all,

I'm trying to run a python script using Oozie shell action. Here's my action 
xml:

<action name="move-to-final-destination">
      <shell xmlns="uri:oozie:shell-action:0.1">
        <job-tracker>${jobTracker}</job-tracker>
        <name-node>${nameNode}</name-node>
        <exec>script.py</exec>
        <argument>/test/HL7/STAGING-MONTHLY</argument>
        <argument>/test/HL7/MONTHLY</argument>
        <file>script.py#script.py</file>
        <archive>${scriptPath}/oozievenv.zip#script.py</archive>
        <capture-output/>
      </shell>

If it matters at all, my script uses Python subprocess module. I set the script 
as executable. I get the error below, which permissions is it complaining 
about? Is it that script within the workflow folder has no permissions, or the 
user executing the workflow has no permission to modify resources in the script?

Thanks

Failing Oozie Launcher, Main class [org.apache.oozie.action.hadoop.ShellMain], 
main() threw exception, Cannot run program "script.py" (in directory 
"/data/3/hadoop/yarn/local/usercache/username/appcache/application_1416326914581_0006/container_1416326914581_0006_01_000002"):
 error=13, Permission denied
java.io.IOException: Cannot run program "script.py" (in directory 
"/data/3/hadoop/yarn/local/usercache/username/appcache/application_1416326914581_0006/container_1416326914581_0006_01_000002"):
 error=13, Permission denied
        at java.lang.ProcessBuilder.start(ProcessBuilder.java:1047)
        at org.apache.oozie.action.hadoop.ShellMain.execute(ShellMain.java:93)
        at org.apache.oozie.action.hadoop.ShellMain.run(ShellMain.java:55)
        at org.apache.oozie.action.hadoop.LauncherMain.run(LauncherMain.java:38)
        at org.apache.oozie.action.hadoop.ShellMain.main(ShellMain.java:47)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:606)
        at 
org.apache.oozie.action.hadoop.LauncherMapper.map(LauncherMapper.java:225)
        at org.apache.hadoop.mapred.MapRunner.run(MapRunner.java:54)
        at org.apache.hadoop.mapred.MapTask.runOldMapper(MapTask.java:430)
        at org.apache.hadoop.mapred.MapTask.run(MapTask.java:342)
        at org.apache.hadoop.mapred.YarnChild$2.run(YarnChild.java:168)
        at java.security.AccessController.doPrivileged(Native Method)
        at javax.security.auth.Subject.doAs(Subject.java:415)
        at 
org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1594)
        at org.apache.hadoop.mapred.YarnChild.main(YarnChild.java:163)
Caused by: java.io.IOException: error=13, Permission denied
        at java.lang.UNIXProcess.forkAndExec(Native Method)
        at java.lang.UNIXProcess.<init>(UNIXProcess.java:186)
        at java.lang.ProcessImpl.start(ProcessImpl.java:130)
        at java.lang.ProcessBuilder.start(ProcessBuilder.java:1028)
        ... 17 more
log4j:WARN No appenders could be found for logger 
(org.apache.hadoop.metrics2.impl.MetricsSystemImpl).
log4j:WARN Please initialize the log4j system properly.
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more 
info.



Artem Ervits
New York Presbyterian


This electronic message is intended to be for the use only of the named 
recipient, and may contain information that is confidential or privileged.  If 
you are not the intended recipient, you are hereby notified that any 
disclosure, copying, distribution or use of the contents of this message is 
strictly prohibited.  If you have received this message in error or are not the 
named recipient, please notify us immediately by contacting the sender at the 
electronic mail address noted above, and delete and destroy all copies of this 
message.  Thank you.

Reply via email to