Shell 如何将文件从HDFS移动到HUE';是oozie的职业设计师吗?

Shell 如何将文件从HDFS移动到HUE';是oozie的职业设计师吗?,shell,hdfs,local,oozie,hue,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/

有谁能告诉我,使用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节点

hadoop fs -copyToLocal /path/to/hdfs/filename.csv /path/to/namenode/local_fs/filename.csv
因此,我用以下值创建了一个SSH节点

user: yarn 
host: {namenode_ip}
command: hadoop fs -get /path/to/hdfs/filename.csv /path/to/namenode/local_fs/filename.csv
(我选择Thread是因为似乎每当我在shell节点中调用“whoami”时,它都会显示Thread。我还确保/path/to/namenode/local\u fs/为Thread所有)

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

身份验证失败:无法执行操作[ssh-o PasswordAuthentication=no-o KbdInteractiveDevices=no-o StrictHostKeyChecking=no-o ConnectTimeout=20 Thread{namenode_id}ip mkdir-p oozie oozi/0001302-140930125511794-oozie-oozi-W/hdfs_-get_-from_-namenode1--ssh/];错误流:权限被拒绝(公钥、SAPI密钥、gssapi密钥、带mic的gssapi、密码)

我真的没有主意了,我不明白为什么我们要经历这么多的困难才能将一个(连接的)文件从HDFS移动到本地FS

有谁能给我一个暗示,我可能在哪里犯了错误?有可能在色调中这样做吗?如果是,我错过了什么

提前谢谢


Alex

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

  • 编写自己的Java代码并由Oozie运行。您可以阅读本文:

  • 如果最后需要将文件传输到某台远程计算机,我现在知道的最好方法是使用NameNode Web UI(通常是http://$namenode://50070),并在远程计算机中下载该文件(例如,使用
    wget

  • 如果文件包含需要导入到数据库的数据,可以尝试在Oozie中使用Sqoop