0

我正在尝试使用非常基本的脚本运行 oozie 工作流程。脚本本身非常简单,它需要一个 csv 文件并将其加载到 impala 中的一个表中。我的工作流程是这样的。

<workflow-app xmlns='uri:oozie:workflow:0.5' name='TEST'>

<global>
    <job-tracker>${jobTracker}</job-tracker>
    <name-node>${nameNode}</name-node>
    <configuration>
        <property>
            <name>mapreduce.job.queuename</name>
            <value>${queueName}</value>
        </property>
    </configuration>
</global>

<start to='postLoad' />
<action name="postLoad">
    <shell xmlns="uri:oozie:shell-action:0.3">
        <exec>${nameNode}/${baseCodePath}/Util/Test.sh</exec>
        <env-var>impalaConn=${impalaConn}</env-var>
        <env-var>xferUser=${xferUser}</env-var>
        <env-var>ingUser=${ingUser}</env-var>
        <env-var>explTableName=${explTableName}</env-var>
        <env-var>stagingPath=${stagingPath}</env-var>
        <file>${nameNode}/${baseCodePath}/Util/Test.sh</file>
        <file>${nameNode}/${commonCodePath}/Util/loadUsrEnv.sh</file>
    </shell>
 ...

但是,当我运行它时,我似乎总是收到此错误,我不确定它为什么无法运行该程序。目录/文件都指向正确的位置。

Failing Oozie Launcher, Main class [org.apache.oozie.action.hadoop.ShellMain], main() threw exception, Cannot run program "Test.sh" (in directory "/data13/yarn/nm/usercache/user/appcache/application"): error=2, No such file or directory java.io.IOException: Cannot run program "Test.sh" (in directory "/data13/yarn/nm/usercache/user/appcache/application"): error=2, No such file or directory

4

1 回答 1

0

利用

<exec>Test.sh</exec>

<file>标签告诉 Oozie 将文件从 HDFS 位置下载到 YARN 容器目录

于 2018-07-05T13:02:18.170 回答