如何使用oozie中执行的脚本访问本地目录?

时间:2013-12-11 18:27:34

标签: shell hadoop copy oozie

我在我的机器上运行带有virtualbox的CDH4.5。在VM内部,我有一个本地目录:/home/cloudera/logs/abc.log,我想做一个非常简单的事情,我在oozie中安排了一个非常简单的脚本,将abc.log复制到HDFS(/user/cloudera/logs/

预定作业已执行,但在stderr中,它显示: cannot access /home/cloudera/logs/abc.log: No such file or directory

无论如何可以使这项工作?因为我想安排一个带oozie的脚本,每天将文件从本地复制到HDFS作为浴室工作。谢谢!

1 个答案:

答案 0 :(得分:4)

Oozie shell操作在随机Hadoop节点上执行,即不在运行Oozie服务器的机器上本地执行。

要实现在本地执行的操作,您可以使用SSH操作:http://oozie.apache.org/docs/3.3.2/DG_SshActionExtension.html和localhost。参见例如https://github.com/airawat/OozieSamples/tree/master/oozieProject/workflowSshAction这是一个很好的完整示例。

或者,您可以启动shell操作并执行将SSH连接到正确计算机的脚本。