2012-10-18 117 views
3

我嘗試在兩個節點中安裝hadoop。兩個節點都正常運行。 namenode在Ubuntu 10.10和Fedora 13上的Datanode上運行。當將文件從本地文件系統複製到hdfs時,我遇到了以下錯誤。將文件複製到HDFS時出錯

終端顯示:

12/04/12 02:19:15 INFO hdfs.DFSClient: Exception in createBlockOutputStream java.io.OException: Bad connect ack with firstBadLink as 10.211.87.162:9200 
    12/04/12 02:19:15 INFO hdfs.DFSClient: Abandoning block blk_-1069539184735421145_1014 

在NameNode的日誌文件顯示:可用

2012-10-16 16:17:56,723 ERROR org.apache.hadoop.hdfs.server.datanode.DataNode: DatanodeRegistration(10.6.2.26:50010, storageID=DS-880164535-10.18.13.10-50010-1349721715148, infoPort=50075, ipcPort=50020):DataXceiver 
    java.net.NoRouteToHostException: No route to host 
     at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method) 
     at sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:567) 
     at org.apache.hadoop.net.SocketIOWithTimeout.connect(SocketIOWithTimeout.java:206) 
     at org.apache.hadoop.net.NetUtils.connect(NetUtils.java:404) 
     at org.apache.hadoop.hdfs.server.datanode.DataXceiver.writeBlock(DataXceiver.java:282) 
     at org.apache.hadoop.hdfs.server.datanode.DataXceiver.run(DataXceiver.java:103) 
     at java.lang.Thread.run(Thread.java:662) 

的Datanode被表示爲2.我已經禁用防火牆和SELinux的。 下列變化也已在HDFS-site.xml中製成

dfs.socket.timeout - > 360000

dfs.datanode.socket.write.timeout - > 3600000

dfs.datanode .max.xcievers - > 1048576

這兩個節點都運行sun-java6-jdk,datanode包含Openjdk,但路徑設置已經爲sun java製作。

但同樣的錯誤仍然存​​在。

什麼可能是解決方案。

+0

通過在不同機器之間進行ping操作來檢查網絡連接。 –

+0

@PraveenSripati是的,機器已連接。檢查與ping。但問題依然存在。 – sujitha

+0

你找到解決方案嗎?我目前面臨同樣的問題:( –

回答

0

提到的例外日誌表明失敗原因是No route to host

嘗試ping 10.6.2.26來測試您的網絡連接。

3

這是因爲您的防火牆已打開。

嘗試

sudo /etc/init.d/iptables stop 

如果你是在Ubuntu,做

sudo ufw disable 

這應該解決的問題。

相關問題