1

我在 HDFS 中的路径 /user/admin/foo.txt 创建了一个简单文件

我可以在 Hue 中看到这个文件的内容。

我如何发出命令

curl -i http://namenode:50070/webhdfs/v1/user/admin/foo.txt?op=OPEN

我得到回应

HTTP/1.1 307 TEMPORARY_REDIRECT
Cache-Control: no-cache
Expires: Tue, 24 Nov 2015 16:20:15 GMT
Date: Tue, 24 Nov 2015 16:20:15 GMT
Pragma: no-cache
Expires: Tue, 24 Nov 2015 16:20:15 GMT
Date: Tue, 24 Nov 2015 16:20:15 GMT
Pragma: no-cache
Location: http://datanode:50075/webhdfs/v1/user/admin/foo.txt?op=OPEN&namenoderpcaddress=nameservice1&offset=0
Content-Type: application/octet-stream
Content-Length: 0
Server: Jetty(6.1.26.cloudera.4)

为什么内容长度:0?我希望这会列出文件的内容。

4

1 回答 1

1

执行:

curl -i http://datanode:50075/webhdfs/v1/user/admin/foo.txt?op=OPEN&namenoderpcaddress=nameservice1&offset=0

至于解释 - 使用 WebHDFS 打开文件时,您必须执行以下操作:

  1. 你不知道文件驻留在哪个节点上,所以你问namenode。
  2. namenode 会返回一个包含该文件的数据节点。
  3. 然后,您可以通过直接与数据节点对话来打开文件本身。

所以这个活动是意料之中的。有关详细信息,请参阅https://hadoop.apache.org/docs/r1.0.4/webhdfs.html

于 2015-11-24T17:21:28.230 回答