我在我的机器上运行带有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作为浴室工作。谢谢!
答案 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连接到正确计算机的脚本。