我试图在oozie上运行shell脚本。首先,我选择了shell脚本文件的路径,然后添加了运行shell脚本文件的参数。当我试着运行oozie worflow时,它进入了一个运行循环,10秒后被杀死。我还通过在hdfs中设置输出文件夹的路径添加了环境变量。当我运行它时,它再次运行到一个循环中,10秒后被杀死。我想不出怎么走这条路。请帮忙。
ttcibm8c1#
您的问题还不清楚,但我想,您正在尝试使用oozie工作流运行shell脚本,其中shell脚本参数将从oozie it self传递。如果我的理解正确,您可以通过coordinator.properties/coordinator.xml/workflow.xml将参数变量从oozie传递给it self。示例:假设您有一个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\u site.xml中定义,相信这些会对你有所帮助
1条答案
按热度按时间ttcibm8c1#
您的问题还不清楚,但我想,您正在尝试使用oozie工作流运行shell脚本,其中shell脚本参数将从oozie it self传递。
如果我的理解正确,您可以通过coordinator.properties/coordinator.xml/workflow.xml将参数变量从oozie传递给it self。
示例:假设您有一个shell脚本,它将在每次执行到另一个dfs位置时执行distcp。
shell脚本:
注意:shell操作可以在oozie\u site.xml中定义,相信这些会对你有所帮助