作为oozie Job的一部分,我正试图在shell脚本的帮助下将文件从HDFS的一个目录复制到HDFS的另一个目录,但我无法通过oozie复制它。
我们可以使用oozie将文件从HDFS的一个目录复制到HDFS中的另一个目录吗。
when i am running the oozie job, i am not any getting error.
it is showing status SUCCEEDED but file is not copying to destination directory.
oozie文件如下。
test.sh
#!/bin/bash
echo "listing files in the current directory, $PWD"
sudo hadoop fs -cp /user/cloudera/RAVIOOZIE/input/* /user/cloudera/RAVIOOZIE/output/
ls # list files
我的workflow.xml是
<workflow-app name="RAMA" xmlns="uri:oozie:workflow:0.5">
<start to="shell-381c"/>
<kill name="Kill">
<message>Action failed, error message[${wf:errorMessage(wf:lastErrorNode())}]</message>
</kill>
<action name="shell-381c">
<shell xmlns="uri:oozie:shell-action:0.1">
<job-tracker>${jobTracker}</job-tracker>
<name-node>${nameNode}</name-node>
<exec>/user/cloudera/test.sh</exec>
<file>/user/cloudera/test.sh#test.sh</file>
<capture-output/>
</shell>
<ok to="End"/>
<error to="Kill"/>
</action>
<end name="End"/>
和我的工作属性
oozie.use.system.libpath=True
security_enabled=False
dryrun=True
jobTracker=localhost:8032
nameNode=hdfs://quickstart.cloudera:8020
oozie.wf.application.path=${nameNode}/user/cloudera/test/
请帮忙。为什么文件没有复制到我的目标控制器。
请告诉我我错过了什么。
如@Samson:评论中所述
如果你想用oozie做hadoop操作,你应该使用hdfs操作,而不是shell操作。
我不确定为什么你没有得到一个错误,但这里有一些可能发生的猜测:
你给oozie启动shell操作的任务,它成功地启动了shell操作并报告成功。然后shell操作失败,但这不是oozies的问题。