我写了类似自定义oozie FTP动作的smth(在“专业Hadoop解决方案:Boris Lublinsky; Kevin T. Smith; Alexey Yakubovich”中描述的简单示例)。我们在node1上有HDFS,在node2上有Oozie服务器。 Node2也有HDFS客户端。
我的问题:
fileSystem.moveFromLocalFile(...)
方法。我也尝试使用/usr/bin/hadoop fs -moveFromLocal /tmp\import_folder/filename.csv /user/user_for_import/imported/filename.csv
之类的Shell操作,但我没有效果。所有操作似乎都试图查看node1上的文件。如果我从node2开始oozie作业,结果相同。问题:我可以设置FTP操作的节点,以便在node1上从FTP加载文件吗?或者我可以通过其他方式在HDFS中传递下载的文件而不是描述?
答案 0 :(得分:0)
Oozie在已配置的Map Reduce群集的节点上将其所有操作作为MR作业运行。没有办法让Oozie在特定节点上运行某些操作。
基本上,您应该使用Flume将文件摄取到HDFS中。在FTP节点上设置Flume代理。
答案 1 :(得分:0)
Ozzie允许用户通过oozie sssh shell扩展在特定节点上运行shell脚本。 https://oozie.apache.org/docs/4.2.0/DG_SshActionExtension.html