Hadoop1.2.1異常No route to host


Hadoop1.2.1異常Bad connect ack with firstBadLink (No route to host )

0.說明

Hadoop集群之前運行正常,增加了新節點之后,需要執行負載均衡等相關操作,執行過程當中出現問題。

1.運行異常

查看master上面的日志信息,發現:

[INFO] Exception in createBlockOutputStream java.io.IOException: Bad connect ack with firstBadLink xxx.xxx.xxx.xxx:50010  
[INFO] Abandoning block blk_6251991629364444942_18501788 

也有以下關鍵信息:

java.net.NoRouteToHostException: No route to host  
ERROR org.apache.hadoop.dfs.DataNode:  
xxx.xxx.xxx.xxx:50010:DataXceiver: java.net.NoRouteToHostException: No  
route to host  #沒有到主機的路由

最后查看節點報告信息負載均衡也沒有實現,數據也沒有同步到新節點上。

2.解決辦法

根據報錯信息,我們都可以發現就是網絡連接的問題,master和新節點之間的網絡通信斷了,所以才會沒找到主機路由。辦法如下:
1)從master主機ping其它主機,如果ping不通,原因可能是namenode節點的/etc/hosts配置錯誤。

2)從slave主機ping master主機名,如果ping不通,原因可能是datenode節點的/etc/hosts配置的配置錯誤。

3)查看master主機的9000(具體根據core-site.xml中的fs.default.name節點配置)端口,是否打開。

4)root用戶關閉防火牆。這是最容易出現的問題。用此命令service iptables stop關閉后,一切正常,集群正常使用。關掉所有Datanode上的iptables:

  service iptables stop

關閉防火牆個人認為不值得推薦,但是每次出現網絡問題關閉它都很有效。應該要設定相關的策略,允許開放Hadoop的特定端口。網上有個帖子,談到了這個問題http://blog.chinaunix.net/uid-20424888-id-96029.html。

3.個人體驗

如果不關閉防火牆(或者沒有設置相關過濾規則),個人體驗有以下幾種情況出現:

第一:hdfs的web管理頁面,打不開該節點的文件瀏覽頁面,如打不開http://slave2:50075/browseDirectory.jsp?namenodeInfoPort=50070&dir=/。

第二:在刪除和增加節點的時候,數據遷移處理時間長,而且會有很多warning,甚至不能正常完成相關操作。

第三:隨便執行一個命令,或者其他操作,總會有這樣或者那樣的問題出現,不勝其煩。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM