java - 对webhdfs的Http请求但给出FileNotFoundException

标签 java http hadoop hdfs

我安装了hadoop 1.0.4。我启用了webhdfs并使用curl命令来获取主目录。

curl -i "http://172.16.30.40:50075/webhdfs/v1?user.name=ubantu&op=GETFILESTATUS"

它适用于GETHOMEDIRECTORY,但不适用于GETFILESTATUS,LISTSTATUS等其他操作

我异常(exception)
**{"RemoteException":{"exception":"FileNotFoundException","javaClassName":"java.io.FileNotFoundException","message":"File /webhdfs/v1 not found."}}**

这是conf文件:

hdfs-site.xml
<configuration>
     <property>
         <name>dfs.replication</name>
         <value>3</value>
     </property>
     <property>
        <name>dfs.webhdfs.enabled</name>
        <value>true</value>
     </property>
     <property>
       <name>dfs.support.append</name>
       <value>true</value>
    </property>
</configuration>

任何人都可以提出建议吗?

谢谢。

最佳答案

根据文档(http://hadoop.apache.org/docs/r1.0.4/webhdfs.html#GETHOMEDIRECTORY),要访问主目录,您应该使用curl -i "http://<HOST>:<PORT>/webhdfs/v1/?op=GETHOMEDIRECTORY"
另外,尝试使用:50070。那是我用于webdfs的端口,它工作正常。

curl -i "http://localhost:50070/webhdfs/v1/?op=GETHOMEDIRECTORY" 

更新:

在您的示例中,您没有指定要检查其状态的文件路径。
在下面的示例中,如果您将/ path / to / your /替换为文件的路径,然后用文件名更改“file”,那么这对您有什么帮助?
curl -i  "http://localhost:50070/webhdfs/v1/path/to/your/file?op=GETFILESTATUS"

关于java - 对webhdfs的Http请求但给出FileNotFoundException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15633133/

相关文章:

java - Java 中的 Hibernate NoMethod 错误

java - 如何使用 JGit 检查 Git 克隆是否已经完成

Java:字符串更改,因此 for 循环中所有项目的名称都更改

api - 通过 HTTP 从纪元获取毫秒数

angular - 如何使用get http请求发送参数(id)?

java - 验证抛出 java.security.InvalidKeyException : null

http - 在一个脚本中发送多个 HTTP 状态码

hadoop - hadoop和spark有什么区别

java - 多个领域

sql - 选择列中特定 ID 和列表名称价格高于同一列的行?