webhdfs创建文件异常

时间:2017-04-06 12:19:30

标签: hadoop webhdfs

我在centos 7上使用hadoop 2.7.1

如果我想将webhdfs与Hadoop集群一起使用

我应该配置此属性

<property>
      <name>dfs.webhdfs.enabled</name>
      <value>true</value>
</property>

但还有什么?

我的名字节点ip是192.168.4.128

当我在Windows 8上使用Firefox并发送此请求时

http://192.168.4.128:50070/webhdfs/v1/hadoopDir/A.txt/?user.name=SYSTEM&op=OPEN

我可以打开文件并查看其内容

但是当我发送PUT请求时

http://192.168.4.128:50070/webhdfs/v1/HadoopDir/B.txt/?user.name=SYSTEM&op=CREATE&data=true

我得到以下回复

{"RemoteException":{"exception":"IllegalArgumentException","javaClassName":"java.lang.IllegalArgumentException","message":"Invalid value for webhdfs parameter \"op\": No enum constant org.apache.hadoop.hdfs.web.resources.GetOpParam.Op.CREATE"}}

为什么在GET操作中打开文件一切正常,但不在PUT

应该处理任何其他配置来处理此请求?

1 个答案:

答案 0 :(得分:2)

WebHDFS执行四种HTTP操作(GET,POST,PUT,DELETE),而Web浏览器通常只支持GET和POST。

包含一些插件,例如RESTClient(适用于Firefox),Advanced REST Client(适用于Chrome),用于发送HTTP PUT和HTTP DELETE请求。

或者,您可以从命令行使用curl

注意:默认情况下启用WebHDFS。因此,hdfs-site.xml中添加的属性是多余的(只是说)。