WebHDFS OPEN命令返回空结果

时间:2015-11-24 16:22:24

标签: hadoop cloudera webhdfs

我在路径/user/admin/foo.txt

中在HDFS中创建了一个简单文件

我可以在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?我希望这会列出文件的内容。

1 个答案:

答案 0 :(得分:1)

执行:

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

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

  1. 您不知道该文件所在的节点,因此请询问namenode。
  2. namenode返回包含该文件的datanode。
  3. 然后,您可以直接与datanode交谈来打开文件。
  4. 所以这个活动是预料之中的。有关详细信息,请参阅https://hadoop.apache.org/docs/r1.0.4/webhdfs.html