从远程 HDFS 检索文件

Retrieve files from remote HDFS

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

步骤如下:

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

还有其他选择

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

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

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