从远程HDFS检索文件

sav*_*ava 8 hadoop hdfs

我的本地计算机没有安装hdfs.我想从远程hdfs集群中检索文件.实现这一目标的最佳方法是什么?我需要get从hdfs到其中一个集群机器fs的文件,然后使用ssh来检索它们吗?我希望能够通过说bash脚本以编程方式执行此操作.

Dur*_*aju 7

以下是步骤:

  • 确保主机与目标群集之间存在连接
  • 将主机配置为客户端,需要安装兼容的hadoop二进制文件.您的主机也需要使用相同的操作系统运行.
  • 确保您具有相同的配置文件(core-site.xml,hdfs-site.xml)
  • 您可以运行hadoop fs -get命令直接获取文件

还有其他选择

  • 如果配置了Webhdfs/httpFS,您实际上可以使用curl甚至浏览器下载文件.如果配置了Webhdfs,您可以编写bash scritps.

如果您的主机无法将Hadoop二进制文件安装为客户端,则可以使用以下说明.

  • 启用密码减少从主机登录到群集上的节点之一
  • 运行命令 ssh <user>@<host> "hadoop fs -get <hdfs_path> <os_path>"
  • 然后用scp命令复制文件
  • 您可以在一个脚本中包含上述2个命令