2012-05-23 61 views
4

我需要從Hadoop系統的Hadoop系統上訪問HDFS,它使用cloudera包版本0.20.2 + 923.256從PHP訪問Hadoop

有一個運行的namenode的節儉服務器,還有一個用於作業跟蹤器的 。我有以下訪問hdfs的函數,但是 我得到一個未知的方法「listStatus」錯誤。節點服務器也被HUE接口用於訪問HDFS和作業跟蹤器。

你能幫我請PHP訪問HDFS嗎?那個節儉使用另一個API嗎? 我沒有找到該API的任何規範。

$socket = new TSocket(IP,PORT); 
$socket->setSendTimeout(10000); 
$socket->setRecvTimeout(20000); 
$transport = new TBufferedTransport($socket); 
$protocol = new TBinaryProtocol($transport); 

$client = new ThriftHadoopFileSystemClient($protocol); 
$transport->open(); 
$pathname = new Pathname(array('pathname' => $file)); 
$result = $client->listStatus($pathname); 
echo($result[0]->path);   
$transport->close(); 
return $result; 

非常感謝!

+0

做你得到了這個問題的任何解決方案? –

回答