Hadoop HDFS over HTTP - 文档集

HttpFS 是一个服务器,提供支持所有 HDFS 文件系统操作(读写)的 REST HTTP 网关。它与 webhdfs REST HTTP API 互操作。

HttpFS 可用于在运行不同 Hadoop 版本的集群之间传输数据(克服 RPC 版本问题),例如使用 Hadoop DistCP。

HttpFS 可用于访问防火墙后集群中的 HDFS 数据(HttpFS 服务器充当网关,并且是唯一允许跨越防火墙进入集群的系统)。

HttpFS 可用于使用 HTTP 实用程序(如 curl 和 wget)和来自 Java 以外的其他语言的 HTTP 库 Perl 访问 HDFS 中的数据。

webhdfs 客户端文件系统实现可用于通过 Hadoop 文件系统命令(hadoop fs)行工具以及使用 Hadoop 文件系统 Java API 的 Java 应用程序访问 HttpFS。

HttpFS 具有内置的安全功能,支持 Hadoop 伪身份验证和 HTTP SPNEGO Kerberos 以及其他可插拔身份验证机制。它还提供 Hadoop 代理用户支持。

HttpFS 如何工作?

HttpFS 是 Hadoop NameNode 的一个独立服务。

HttpFS 本身是 Java Jetty Web 应用程序。

HttpFS HTTP Web 服务 API 调用是映射到 HDFS 文件系统操作的 HTTP REST 调用。例如,使用 curl Unix 命令

  • $ curl 'http://httpfs-host:14000/webhdfs/v1/user/foo/README.txt?op=OPEN&user.name=foo' 返回 HDFS /user/foo/README.txt 文件的内容。

  • $ curl 'http://httpfs-host:14000/webhdfs/v1/user/foo?op=LISTSTATUS&user.name=foo' 以 JSON 格式返回 HDFS /user/foo 目录的内容。

  • $ curl 'http://httpfs-host:14000/webhdfs/v1/user/foo?op=GETTRASHROOT&user.name=foo' 返回路径 /user/foo/.Trash,如果 / 是加密区域,则返回路径 /.Trash/foo。请参阅有关加密区域中回收站路径的 更多详细信息

  • $ curl -X POST 'http://httpfs-host:14000/webhdfs/v1/user/foo/bar?op=MKDIRS&user.name=foo' 创建 HDFS /user/foo/bar 目录。

用户和开发人员文档