2013-03-26 40 views
0

我安裝了hadoop 1.0.4。我啓用了webhdfs並使用curl命令獲取主目錄。HTTP請求webhdfs,但給FileNotFoundException

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

其工作GETHOMEDIRECTORY但不工作的像GETFILESTATUS,LISTSTATUS其它操作等

我得到的異常

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

這裏是conf文件:

HDFS現場.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> 

任何人都可以提出一些建議嗎?

謝謝。

回答

0

根據文檔(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" 
+0

是的,我做了它的工作GETHOMEDIRECTORY但不工作的像GETFILESTATUS,LISTSTATUS等 – Amol 2013-03-26 10:32:22

+0

是它通過增加用戶目錄,HTTP進行其他操作相同://本地主機:50070/webhdfs/V1 /用戶?op = GETFILESTATUS – Amol 2013-03-26 11:06:18

+0

如何使用webhdfs執行其他操作,如使用HDFS進行OPEN,WRITE和READ? – Amol 2013-03-26 11:07:21