如何将文件从HDFS移动到HUE的oozie作业设计器中的本地文件系统?

问题描述:

任何人都可以告诉我使用HUE中的Oozie编辑器将文件从HDFS移动到我的namenode的本地文件系统的最佳方式是什么? (!而不是命令行)如何将文件从HDFS移动到HUE的oozie作业设计器中的本地文件系统?

我已经试过如下:

在我的工作流程,我在这我想

hadoop fs -get /path/to/hdfs/filename.csv /path/to/namenode/local_fs/filename.csv 

这并不工作增添了外壳节点,所以我也试过这种在节点

hadoop fs -copyToLocal /path/to/hdfs/filename.csv /path/to/namenode/local_fs/filename.csv 

请注意,命令上面的代码已经在namenode的命令行中进行了尝试和测试,并且它们已经工作,但不是在HUE的Oozie中运行时。

其实在这之前我试图与-get和-copyToLocal,我也试着

hadoop fs -getmerge /path/to/hdfs/* /path/to/namenode/local_fs/filename.csv 

由于外壳节点内的所有这些命令没有工作,我想不妨尝试使用一个SSH节点

所以我创建具有以下值的SSH节点

user: yarn 
host: {namenode_ip} 
command: hadoop fs -get /path/to/hdfs/filename.csv /path/to/namenode/local_fs/filename.csv 

(我选择纱线,因为它似乎只要我在壳节点中称呼“whoami”,它就会显示纱线。我还相信,/路径/到/的NameNode/local_fs /经纱拥有)

但随后,它会显示以下内容:

AUTH_FAILED:无法执行操作[SSH -o的PasswordAuthentication =无-o KbdInteractiveDevices = no -o StrictHostKeyChecking = no -o ConnectTimeout = 20 yarn @ {namenode_id} _ip mkdir -p oozie-oozi/0001302-140930125511794-oozie-oozi -W/hdfs_get_from_namenode1 -ssh /] | ErrorStream:Permission denied(publickey,gssapi-keyex,gssapi-with-mic,password)。

我真的没有想法,我不明白为什么我们必须经过这么多的箍,才能从HDFS移动(连接)文件到本地FS!

有没有人给我一个暗示,我可能犯了一个错误?在HUE中可以做到这一点吗?如果是这样,我错过了什么?

在此先感谢

亚历

不幸Oozie的SH和SSH不从HDFS支持transfering文件下载到本地。取决于您的问题,可以尝试以下方法:

  1. 编写您自己的Java代码并由Oozie运行它。你可以阅读这篇文章:如果最后你需要将文件传输到一些偏远的机器http://ehukai.com/2011/06/14/using-oozie-to-process-daily-logs/

  2. ,现在我知道最好的办法是要去的NameNode的Web UI(通常为http:// namenode的$:// 50070 ),并在远程机器上下载文件(例如,使用wget)。

  3. 如果文件包含需要导入到数据库的数据,您可以尝试使用Oozie中的Sqoop来做到这一点。