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

时间:2014-10-07 00:14:46

标签: shell hdfs local oozie hue

有人能告诉我,使用HUE中的Oozie编辑器将文件从HDFS移动到我的namenode本地文件系统的最佳方法是什么? (不是命令行!)

我已经尝试了以下内容:

在我的工作流程中,我添加了 shell 节点,其中我尝试了

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

这不起作用,所以我也在 shell 节点

中尝试了这个
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

由于 shell 节点中的所有这些命令都不起作用,我认为不妨尝试使用 SSH 节点

所以我创建了一个 SSH 节点,其中包含以下值

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

(我之所以选择纱线是因为看起来每当我打电话给#34; whoami"在一个shell节点中,它会显示纱线。我还确保/ path / to / namenode / local_fs /归纱线所有)

但是,它显示以下内容:

AUTH_FAILED:无法执行操作[ssh -o PasswordAuthentication = no -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:权限被拒绝(publickey,gssapi-keyex,gssapi-with-mic,密码)。

我真的没有想法,我无法理解为什么我们必须经历如此多的箍才能将(连接的)文件从HDFS移动到本地FS !!!

有人可以给我一个暗示我可能犯错的地方吗?在HUE可以做到这一点吗?如果是的话,我错过了什么?

提前致谢

亚历

1 个答案:

答案 0 :(得分:1)

不幸的是Oozie sh和ssh不支持将文件从HDFS传输到本地。取决于您的问题,可以尝试以下方法:

  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来执行此操作。