Oozie Job(Cloudera VM)在抛出错误时执行shell脚本 - 错误= 2,没有这样的文件或目录

时间:2016-07-16 20:51:04

标签: hadoop oozie cloudera-cdh

我在尝试执行shell脚本时遇到错误。如果我在这里做了任何错误,请告诉我。

我已将所有文件复制到Hdfs中。 Oozie文件夹包含脚本文件夹,我在该文件夹中有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 个答案:

答案 0 :(得分:0)

1)您是否尝试将sample.sh放在&#34; oozie.wf.application.path&#34;路径和将文件属性更改为

 <file>sample.sh</file>

2)我遇到了相同的#34;没有这样的文件或目录&#34;错误,当shell脚本文件从Windows复制到linux时损坏。验证文件