Hadoop HDFS over HTTP - 文件集

HttpFS 是一個伺服器,提供一個支援所有 HDFS 檔案系統作業(讀取和寫入)的 REST HTTP 閘道。它與 webhdfs REST HTTP API 相容。

HttpFS 可用於在執行不同 Hadoop 版本的叢集之間傳輸資料(克服 RPC 版本問題),例如使用 Hadoop DistCP。

HttpFS 可用於存取防火牆後方叢集中的 HDFS 資料(HttpFS 伺服器作為閘道,是唯一允許跨越防火牆進入叢集的系統)。

HttpFS 可用於使用 HTTP 工具(例如 curl 和 wget)和 Perl 等非 Java 語言的 HTTP 函式庫存取 HDFS 中的資料。

webhdfs 檔案系統實作可以透過 Hadoop 檔案系統命令(hadoop fs)列工具,以及使用 Hadoop 檔案系統 Java API 的 Java 應用程式來存取 HttpFS。

HttpFS 內建安全性,支援 Hadoop 偽驗證和 HTTP SPNEGO Kerberos 及其他可插入的驗證機制。它也提供 Hadoop 代理使用者支援。

HttpFS 如何運作?

HttpFS 是 Hadoop NameNode 的獨立服務。

HttpFS 本身是 Java Jetty 網路應用程式。

HttpFS HTTP 網路服務 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 目錄。

使用者和開發人員文件