我在尝试执行shell脚本时遇到以下错误。如果我在这里犯了什么错误,请告诉我。
我已将所有文件复制到hdfs中。oozie文件夹包含scripts文件夹,我在该文件夹中有sample.sh。
Cannot run program "sample.sh" (in directory "/var/lib/hadoop-yarn/cache/yarn/nm-local-dir/usercache/cloudera/appcache/application_1468541187565_0011/container_1468541187565_0011_01_000002"): error=2, No such file or directory
请找到我的工作和工作流程文件。
<workflow-app name="WF_PRC_L2_LOAD" xmlns="uri:oozie:workflow:0.5">
<credentials>
<credential name="hive2" type="hive2">
<property>
<name>hive2.jdbc.url</name>
<value>${hive2_jdbc_url}</value>
</property>
</credential>
</credentials>
<start to="shell-001"/>
<kill name="Kill">
<message>Action failed, error message[${wf:errorMessage(wf:lastErrorNode())}]</message>
</kill>
<action name="shell-001">
<shell xmlns="uri:oozie:shell-action:0.1">
<job-tracker>${jobTracker}</job-tracker>
<name-node>${nameNode}</name-node>
<exec>sample.sh</exec>
<file>${basepath}/scripts/sample.sh#sample.sh</file>
<capture-output />
</shell>
<ok to="End" />
<error to="Kill" />
</action>
<end name="End"/>
</workflow-app>
我的job.properties文件如下所示:
oozie.use.system.libpath=True
src_tmvw_schema=AMLMKTE_TM
l1_schema=amlmkte_l1
tm_stg_schema=L4_AMLMKT_STGE
basepath=/user/sp57529/oozie
queueName=default
oozie.wf.application.path=/user/sp57529/oozie/application/app_amlmkt_dq/wf_prc_l1_dq/
env=home
hive2_jdbc_url=jdbc:hive2://localhost:10000/default
nameNode=hdfs://localhost:8020
jobTracker=localhost:8032
1条答案
按热度按时间zzlelutf1#
1) 您是否尝试过将sample.sh放在“oozie.wf.application.path”路径中并将文件属性更改为
2) 当shell脚本文件在从windows复制到linux时被损坏时,我遇到了同样的“没有这样的文件或目录”错误。验证文件