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.