【发布时间】:2016-12-10 17:30:20
【问题描述】:
我正在尝试将文件从 HDFS 一个目录复制到 HDFS 中的另一个目录,在 shell 脚本的帮助下,作为 oozie Job 的一部分,但我无法通过 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"/>
还有我的job.properties
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/
请帮忙。为什么文件没有复制到我的目标导演。
请让我知道我错过了什么。
【问题讨论】:
-
您的 workflow.xml 和 shell 脚本看起来不错。您可能必须仔细查找错误 - 即使它说成功。你在 shell 脚本中的 echo 语句是否被打印出来了?
-
我可以在“jobhistory/logs”中看到 echo 语句,但它没有显示任何错误。它显示在日志“Oozie Launcher,捕获输出数据:========= =============你好,cloudera。我想列出你的一些文件,列出当前目录中的文件,/var/lib/hadoop-yarn/cache/yarn/nm-local- dir/usercache/cloudera/appcache/application_1470284226059_0022/container_1470284226059_00ror.ie"
-
您的问题被标记为“移动文件”,但您的帖子实际上是关于复制文件。如果你真的想移动这些文件,你应该试试原生的 Oozie HDFS Action oozie.apache.org/docs/4.2.0/…
标签: shell hadoop cloudera oozie oozie-coordinator