Support Questions
Find answers, ask questions, and share your expertise

Oozie shell action not executing - Cannot run program ""

New Contributor

Hello Every body, I need some help.

I'm working on Cloudera Express 5.15.0
When I run a shell action with a Shell script for running spark application, I am constantly confronted with an error. These error seem like same but These are diffrent.
At the first time I met this error, There were just two directories 'usercache', 'filecache' under '/DATA01/yarn/nm/usercache/user_01'. And then I remove all directories '/DATA01/yarn/nm/usercache/user_01' on every each Data nodes.

Now, I realize that oozie refer different directory from real created directory.

Ooze refer :


But Server has :


There is no directory "container_1540195922373_0063_01_000003" on the Data Node.

Can I get some help ?


Error Log ===================================================================================

Failing Oozie Launcher, Main class [org.apache.oozie.action.hadoop.ShellMain], main() threw exception, Cannot run program "" (in directory "/DATA01/yarn/nm/usercache/user_01/appcache/application_1540195922373_0063/container_1540195922373_0063_01_000003"): error=2, No such file or directory Cannot run program "" (in directory "/DATA01/yarn/nm/usercache/user_01/appcache/application_1540195922373_0063/container_1540195922373_0063_01_000003"): error=2, No such file or directory
at java.lang.ProcessBuilder.start(
at org.apache.oozie.action.hadoop.ShellMain.execute(
at org.apache.oozie.action.hadoop.ShellMain.main(
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(
at sun.reflect.DelegatingMethodAccessorImpl.invoke(
at java.lang.reflect.Method.invoke(
at org.apache.hadoop.mapred.MapTask.runOldMapper(
at org.apache.hadoop.mapred.YarnChild$
at Method)
at org.apache.hadoop.mapred.YarnChild.main(
Caused by: error=2, No such file or directory
at java.lang.UNIXProcess.forkAndExec(Native Method)
at java.lang.UNIXProcess.<init>(
at java.lang.ProcessImpl.start(
at java.lang.ProcessBuilder.start(
... 17 more


Expert Contributor



I am afraid if you are passing the shell script name under file tag as well or not and because of that oozie is not able to localize the shell script which is causing the error of "No such file or directory"


Can you please share the worfkflow.xml and file so we can check if you are passing it in right way or not.




New Contributor

Just remove unwanted characters line end of line in shell script. It will work.

; ;