问题描述
2015-10-0118:07:13,627WARNShellActionExecutor:544-SERVER[hadoop-senior.ibeifeng.com]USER[beifeng]GROUP[-]TOKEN[]APP[shell-wf]JOB[0000018-151001122846380-oozie-beif-W]ACTION[0000018-151001122846380-oozie-beif-W@shell-node]Launcherexception:Cannotrunprogram"select.sh"(indirectory"/opt/cdh-5.3.6/hadoop-2.5.0-cdh5.3.6/data/nm-local-dir/usercache/beifeng/appcache/application_1443616625551_0030/container_1443616625551_0030_01_000002"):error=2,Nosuchfileordirectoryjava.io.IOException:Cannotrunprogram"select.sh"(indirectory"/opt/cdh-5.3.6/hadoop-2.5.0-cdh5.3.6/data/nm-local-dir/usercache/beifeng/appcache/application_1443616625551_0030/container_1443616625551_0030_01_000002"):error=2,Nosuchfileordirectoryatjava.lang.ProcessBuilder.start(ProcessBuilder.java:1047)atorg.apache.oozie.action.hadoop.ShellMain.execute(ShellMain.java:93)atorg.apache.oozie.action.hadoop.ShellMain.run(ShellMain.java:55)atorg.apache.oozie.action.hadoop.LauncherMain.run(LauncherMain.java:39)atorg.apache.oozie.action.hadoop.ShellMain.main(ShellMain.java:47)atsun.reflect.NativeMethodAccessorImpl.invoke0(NativeMethod)atsun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)atsun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)atjava.lang.reflect.Method.invoke(Method.java:606)atorg.apache.oozie.action.hadoop.LauncherMapper.map(LauncherMapper.java:227)atorg.apache.hadoop.mapred.MapRunner.run(MapRunner.java:54)atorg.apache.hadoop.mapred.MapTask.runOldMapper(MapTask.java:450)atorg.apache.hadoop.mapred.MapTask.run(MapTask.java:343)atorg.apache.hadoop.mapred.YarnChild$2.run(YarnChild.java:168)atjava.security.AccessController.doPrivileged(NativeMethod)atjavax.security.auth.Subject.doAs(Subject.java:415)atorg.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1642)atorg.apache.hadoop.mapred.YarnChild.main(YarnChild.java:163)Causedby:java.io.IOException:error=2,Nosuchfileordirectoryatjava.lang.UNIXProcess.forkAndExec(NativeMethod)atjava.lang.UNIXProcess.<init>(UNIXProcess.java:186)atjava.lang.ProcessImpl.start(ProcessImpl.java:130)atjava.lang.ProcessBuilder.start(ProcessBuilder.java:1028)我的job属性配置如下nameNode=hdfs://hadoop-senior.ibeifeng.com:8020jobTracker=hadoop-senior.ibeifeng.com:8032queueName=defaultappRoot=oozie-appsoozie.use.system.libpath=trueoozie.wf.application.path=${nameNode}/user/${user.name}/${appRoot}/shellEXEC=select.shSCRIPT=hiveselect.sql我的workflow配置如下<workflow-appxmlns="uri:oozie:workflow:0.4"name="shell-wf"><startto="shell-node"/><actionname="shell-node"><shellxmlns="uri:oozie:shell-action:0.2"><job-tracker>${jobTracker}</job-tracker><name-node>${nameNode}</name-node><configuration><property><name>mapred.job.queue.name</name><value>${queueName}</value></property></configuration><exec>${EXEC}</exec><file>${nameNode}/user/beifeng/oozie-apps/shell/${EXEC}#${EXEC}</file><file>${nameNode}/user/beifeng/oozie-apps/shell/${SCRIPT}#${SCRIPT}</file><capture-output/></shell><okto="end"/><errorto="fail"/></action><killname="fail"><message>Shellactionfailed,errormessage[${wf:errorMessage(wf:lastErrorNode())}]</message></kill><endname="end"/></workflow-app>