2010-04-13 64 views
3

我使用Virtualbox在OpenSuse 11.2 VM上設置了Hadoop。我已經完成了必備配置。我成功地在獨立模式下運行了這個例子。 但在僞分佈式模式,我得到以下錯誤:在虛擬分佈式模式下運行Hadoop示例vm


$./bin/hadoop fs -put conf input 
10/04/13 15:56:25 INFO hdfs.DFSClient: Exception in createBlockOutputStream java.net.SocketException: Protocol not available                
10/04/13 15:56:25 INFO hdfs.DFSClient: Abandoning block blk_-8490915989783733314_1003   
10/04/13 15:56:31 INFO hdfs.DFSClient: Exception in createBlockOutputStream java.net.SocketException: Protocol not available                
10/04/13 15:56:31 INFO hdfs.DFSClient: Abandoning block blk_-1740343312313498323_1003   
10/04/13 15:56:37 INFO hdfs.DFSClient: Exception in createBlockOutputStream java.net.SocketException: Protocol not available                
10/04/13 15:56:37 INFO hdfs.DFSClient: Abandoning block blk_-3566235190507929459_1003   
10/04/13 15:56:43 INFO hdfs.DFSClient: Exception in createBlockOutputStream java.net.SocketException: Protocol not available                
10/04/13 15:56:43 INFO hdfs.DFSClient: Abandoning block blk_-1746222418910980888_1003   
10/04/13 15:56:49 WARN hdfs.DFSClient: DataStreamer Exception: java.io.IOException: Unable to create new block.                   
     at org.apache.hadoop.hdfs.DFSClient$DFSOutputStream.nextBlockOutputStream(DFSClient.java:2845)                      
     at org.apache.hadoop.hdfs.DFSClient$DFSOutputStream.access$2000(DFSClient.java:2102) 
     at org.apache.hadoop.hdfs.DFSClient$DFSOutputStream$DataStreamer.run(DFSClient.java:2288)                       

10/04/13 15:56:49 WARN hdfs.DFSClient: Error Recovery for block blk_-1746222418910980888_1003 bad datanode[0] nodes == null                
10/04/13 15:56:49 WARN hdfs.DFSClient: Could not get block locations. Source file "/user/max/input/core-site.xml" - Aborting...               
put: Protocol not available                 
10/04/13 15:56:49 ERROR hdfs.DFSClient: Exception closing file /user/max/input/core-site.xml : java.net.SocketException: Protocol not available 
java.net.SocketException: Protocol not available 
     at sun.nio.ch.Net.getIntOption0(Native Method) 
     at sun.nio.ch.Net.getIntOption(Net.java:178) 
     at sun.nio.ch.SocketChannelImpl$1.getInt(SocketChannelImpl.java:419) 
     at sun.nio.ch.SocketOptsImpl.getInt(SocketOptsImpl.java:60) 
     at sun.nio.ch.SocketOptsImpl.sendBufferSize(SocketOptsImpl.java:156) 
     at sun.nio.ch.SocketOptsImpl$IP$TCP.sendBufferSize(SocketOptsImpl.java:286) 
     at sun.nio.ch.OptionAdaptor.getSendBufferSize(OptionAdaptor.java:129) 
     at sun.nio.ch.SocketAdaptor.getSendBufferSize(SocketAdaptor.java:328) 
     at org.apache.hadoop.hdfs.DFSClient$DFSOutputStream.createBlockOutputStream(DFSClient.java:2873) 
     at org.apache.hadoop.hdfs.DFSClient$DFSOutputStream.nextBlockOutputStream(DFSClient.java:2826) 
     at org.apache.hadoop.hdfs.DFSClient$DFSOutputStream.access$2000(DFSClient.java:2102) 
     at org.apache.hadoop.hdfs.DFSClient$DFSOutputStream$DataStreamer.run(DFSClient.java:2288) 

回答

0

什麼時候開始Hadoop的惡魔。與獨立模式不同,這需要在psuedo-dist模式下完成。你使用類似啓動:

所需的步驟

$bin\start-all.sh

文檔可以發現here

您是否遵循了所有這些步驟?你可以瀏覽NameNode和JobTracker Web界面嗎?

+0

這就是我試圖運行的例子。我可以瀏覽Namenode和JobTracker,core-site.xml文件就在那裏。 當我啓動守護進程時,日誌看起來不錯。它僅在'./bin/hadooop -put conf input'發生異常之後。 – Manas 2010-04-14 08:12:37

0

也許嘗試使用預先配置的虛擬機? http://www.cloudera.com/developers/downloads/virtual-machine/我認爲這可能是開始學習hadoop的最好方法,那些問題不應該發生在那裏。

+0

你能告訴我我是否可以使用Cloudera的VM以完全分佈式模式運行Hadoop?每個虛擬機將運行在不同的計算機上。因爲我不能在我工作的機器上安裝Linux:( – Manas 2010-05-05 11:08:18

+1

)如果你想在不同的計算機上運行Cloudera的VM,你會遇到一些問題(與網絡有關)。但是爲了測試,在一臺PC上運行2或3個虛擬機工作。 – wlk 2010-05-06 17:12:21

1

好像集羣中沒有活動數據節點。你檢查狀態頁面是否顯示活動節點? http://localhost:50070/

使用命令$ bin/start-all.sh啓動所有Hadoop守護進程。

相關問題