[hadoop@Master file]$ hadoop fs -mkdir input3
[hadoop@Master file]$ hadoop fs -put ./file*.txt input3
15/03/18 22:54:00 INFO hdfs.DFSClient: Exception in createBlockOutputStream java.net.NoRouteToHostException: 沒有到主機的路由
15/03/18 22:54:00 INFO hdfs.DFSClient: Abandoning block blk_-2701910714669546890_10073
15/03/18 22:54:06 INFO hdfs.DFSClient: Exception in createBlockOutputStream java.net.NoRouteToHostException: 沒有到主機的路由
15/03/18 22:54:06 INFO hdfs.DFSClient: Abandoning block blk_-6595394394333564261_10073
15/03/18 22:54:12 INFO hdfs.DFSClient: Exception in createBlockOutputStream java.net.NoRouteToHostException: 沒有到主機的路由
15/03/18 22:54:12 INFO hdfs.DFSClient: Abandoning block blk_-7654232478902170768_10073
15/03/18 22:54:18 INFO hdfs.DFSClient: Exception in createBlockOutputStream java.net.NoRouteToHostException: 沒有到主機的路由
15/03/18 22:54:18 INFO hdfs.DFSClient: Abandoning block blk_-4057949388287825875_10074
15/03/18 22:54:24 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)
15/03/18 22:54:24 WARN hdfs.DFSClient: Error Recovery for block blk_-4057949388287825875_10074 bad datanode[0] nodes == null
15/03/18 22:54:24 WARN hdfs.DFSClient: Could not get block locations. Source file "/user/hadoop/input3/file1.txt" - Aborting...
15/03/18 22:54:24 INFO hdfs.DFSClient: Exception in createBlockOutputStream java.net.NoRouteToHostException: 沒有到主機的路由
15/03/18 22:54:24 INFO hdfs.DFSClient: Abandoning block blk_-7080188390242653981_10075
15/03/18 22:54:30 INFO hdfs.DFSClient: Exception in createBlockOutputStream java.net.NoRouteToHostException: 沒有到主機的路由
15/03/18 22:54:30 INFO hdfs.DFSClient: Abandoning block blk_-6858744431122541922_10075
15/03/18 22:54:36 INFO hdfs.DFSClient: Exception in createBlockOutputStream java.net.NoRouteToHostException: 沒有到主機的路由
15/03/18 22:54:36 INFO hdfs.DFSClient: Abandoning block blk_-5335567731842422100_10075
15/03/18 22:54:42 INFO hdfs.DFSClient: Exception in createBlockOutputStream java.net.NoRouteToHostException: 沒有到主機的路由
15/03/18 22:54:42 INFO hdfs.DFSClient: Abandoning block blk_7680139810007024027_10075
15/03/18 22:54:48 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)
15/03/18 22:54:48 WARN hdfs.DFSClient: Error Recovery for block blk_7680139810007024027_10075 bad datanode[0] nodes == null
15/03/18 22:54:48 WARN hdfs.DFSClient: Could not get block locations. Source file "/user/hadoop/input3/file2.txt" - Aborting...
put: 沒有到主機的路由
沒有到主機的路由
15/03/18 22:54:48 ERROR hdfs.DFSClient: Exception closing file /user/hadoop/input3/file1.txt : java.net.NoRouteToHostException: 沒有到主機的路由
java.net.NoRouteToHostException: 沒有到主機的路由
at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method)
at sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:739)
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.DFSClient$DFSOutputStream.createBlockOutputStream(DFSClient.java:2870)
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)
15/03/18 22:54:48 ERROR hdfs.DFSClient: Exception closing file /user/hadoop/input3/file2.txt : java.net.NoRouteToHostException: 沒有到主機的路由
java.net.NoRouteToHostException: 沒有到主機的路由
at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method)
at sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:739)
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.DFSClient$DFSOutputStream.createBlockOutputStream(DFSClient.java:2870)
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)
uj5u.com熱心網友回復:
樓主解決了嘛?我也遇到一樣的問題uj5u.com熱心網友回復:
分析:這種沒有到主機的路由問題屢見不鮮了,一般要么是namenode 與 datanode 主機名間本身互ping就ping不通,這個概率較小,因為都知道要保證master與slaves 節點是能正常通信,所以都會檢查。那么最有可能就是防火墻沒有關閉,或者因為查看不出防火墻狀態,所以誤以為防火墻關閉了。
解決方案:
(1)從namenode主機ping其它slaves節點的主機名(注意是slaves節點的主機名),如果ping不通,原因可能是namenode節點的/etc/hosts 未配置主機名與IP地址的映射關系,補全主機名與IP地址的映射關系。
(2)從datanode主機ping master節點的主機名(注意也是節點的主機名),如果ping不通,原因可能是datenode節點的/etc/hosts 未配置主機名與IP地址的映射關系,補全主機名與IP地址的映射關系。
(3)查看各機器節點的防火墻是否關閉(或者設定防火墻開啟,但對我們的指定埠開放,最好是關閉防火墻):
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/67583.html
標籤:虛擬化
