oozie作业(clouderavm)在执行shell脚本时抛出错误--error=2,没有这样的文件或目录

nbnkbykc  于 2021-06-02  发布在  Hadoop
关注(0)|答案(1)|浏览(341)

我在尝试执行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
zzlelutf

zzlelutf1#

1) 您是否尝试过将sample.sh放在“oozie.wf.application.path”路径中并将文件属性更改为

<file>sample.sh</file>

2) 当shell脚本文件在从windows复制到linux时被损坏时,我遇到了同样的“没有这样的文件或目录”错误。验证文件

相关问题