如何在oozie工作流程中设置路径?

时间:2015-07-30 21:24:09

标签: shell hadoop workflow hdfs oozie

我正在尝试在Oozie上运行一个Shell脚本。首先,我选择了shell脚本文件的路径,之后我添加了运行shell脚本文件的参数。当我尝试运行oozie worflow时,它会进入一个运行循环,在10秒后被杀死。

我还通过在HDFS中设置输出文件夹的路径来添加环境变量。当我运行它时,它再次遇到一个循环,在10秒后被杀死。我无法弄清楚如何设置路径。请帮忙。

1 个答案:

答案 0 :(得分:0)

你的问题不明确, 但是我想,你正试图使用​​Oozie工作流运行Shell脚本,其中Shell脚本参数将从Oozie自己传递。

如果我的理解是正确的,你可以通过coordinator.properties/coordinator.xml/workflow.xml从Oozie传递Argument变量。

实施例: 假设您有一个shell脚本,每次执行到另一个dfs位置时都会执行distcp。

Shell脚本:

> hadoop dfs -rmr destination_location
> hadoop distcp hdfs://<source_dfs><source_dfs_location> hdfs://<destination_dfs><destination_dfs_location>

workflow.xml:



 <action name="shellAction">
        <shell xmlns="uri:oozie:shell-action:0.1">
            <job-tracker>${jobTracker}</job-tracker>
            <name-node>${nameNode}</name-node>
            <configuration>
                <property>
                  <name>oozie.launcher.mapred.job.queue.name</name>
                  <value>default</value>
                </property>
            </configuration>
            <exec>shell_script.sh</exec>
                        <file>hdfs://<dfs:port>/<dfs_location/shell_script.sh></file>
            <capture-output/>
        </shell>
        <ok to="end"/>
        <error to="killAction"/>
    </action>
         <kill name="killAction">
               <message>Shell Action Failed, error message[${wf:errorMessage(wf:lastErrorNode())}]</message>
     </kill>

注意:Shell操作可以在oozie_site.xml中定义 相信这些会对你有所帮助