Shell 如何在oozie工作流中设置路径?
我试图在Oozie上运行Shell脚本。首先,我选择了Shell脚本文件的路径,然后添加了参数以运行Shell脚本文件。当我试着运行oozie worflow时,它会进入一个运行循环,10秒后被杀死Shell 如何在oozie工作流中设置路径?,shell,hadoop,workflow,hdfs,oozie,Shell,Hadoop,Workflow,Hdfs,Oozie,我试图在Oozie上运行Shell脚本。首先,我选择了Shell脚本文件的路径,然后添加了参数以运行Shell脚本文件。当我试着运行oozie worflow时,它会进入一个运行循环,10秒后被杀死 我还通过在HDFS中设置输出文件夹的路径添加了环境变量。当我运行它时,它再次运行到一个循环中,在10秒后被杀死。我不知道如何设置路径。请帮忙。你的问题不清楚, 但是,您正在尝试使用Oozie工作流运行Shell脚本,其中Shell脚本参数将从Oozie it self传递 如果我的理解正确,您可以通
我还通过在HDFS中设置输出文件夹的路径添加了环境变量。当我运行它时,它再次运行到一个循环中,在10秒后被杀死。我不知道如何设置路径。请帮忙。你的问题不清楚, 但是,您正在尝试使用Oozie工作流运行Shell脚本,其中Shell脚本参数将从Oozie it self传递 如果我的理解正确,您可以通过coordinator.properties/coordinator.xml/workflow.xml it self从Oozie传递参数变量 例如: 假设您有一个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>
hadoop dfs-rmr目标位置
>hadoop distcp hdfs://hdfs://
workflow.xml:
${jobTracker}
${nameNode}
oozie.launcher.mapred.job.queue.name
违约
shell_script.sh
hdfs:///
Shell操作失败,错误消息[${wf:errorMessage(wf:lastErrorNode())}]
注意:Shell操作可在oozie_site.xml中定义
相信这些会对你有所帮助也许你可以编辑你的问题,将你运行的实际命令包括在内,而不是简单地描述它们。您还可以发布任何日志中的相关片段。请参阅stackoverflow.com/help/how-to-ask