1

我使用 ubuntu 12、Hadoop 1.0.3,我使用 webhdfs curl 创建文件。

curl -i -X PUT "http://localhost:50070/webhdfs/v1/test.txt?op=CREATE

或使用

curl -i -X PUT -T /home/hadoop/TestFile/test.txt "http://localhost:50070/webhdfs/v1/test?op=CREATE"

两次表扬的结果是

HTTP/1.1 307 TEMPORARY_REDIRECT

hdfs-site.xml 缺少什么?还是没有设置其他权限?

谢谢!

4

2 回答 2

3

根据 Web HDFS 的文档,这是预期的:

当您进行第一次放置时,您将获得数据节点的临时重定向 URL,然后您可以发出另一个 PUT 命令将文件实际上传到 HDFS。

该文档还解释了这种两步创建方法背后的原因:

请注意,有两步创建/追加的原因是为了防止客户端在重定向之前发送数据。HTTP/1.1 中的“Expect: 100-continue”标头解决了这个问题;请参阅 RFC 2616,第 8.2.3 节。不幸的是,存在软件库错误(例如 Jetty 6 HTTP 服务器和 Java 6 HTTP 客户端),它们没有正确实现“Expect: 100-continue”。两步创建/附加是软件库错误的临时解决方法。

于 2012-06-18T12:32:57.610 回答
-1

我知道我回复得很晚,但在这里寻找答案的任何其他人都可以看到它。嗨@Krishna Pandey,这是 WebHDFS 的新链接 https://hadoop.apache.org/docs/r1.0.4/webhdfs.html#CREATE

您可以参考此博客的步骤和命令https://wordpress.com/post/had00ping.wordpress.com/194

于 2016-09-15T14:31:50.670 回答