createBlockOutputStream中的异常java.io.IOException:错误连接ack与firstBadLink

时间:2015-11-30 02:58:15

标签: java hadoop hdfs dfs apache-tez

知道我为什么会收到这个错误吗? 10.0.1.193是我的一个虚拟机。

ubuntu@anmol-vm1-new:/home/hadoop/yarnpp$ hadoop fs -put tez-0.4.1-incubating/* /apps/tez-0.4.1-incubating 
15/11/30 02:53:28 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
15/11/30 02:54:40 INFO hdfs.DFSClient: Exception in createBlockOutputStream
java.io.IOException: Bad connect ack with firstBadLink as 10.0.1.193:50010
    at org.apache.hadoop.hdfs.DFSOutputStream$DataStreamer.createBlockOutputStream(DFSOutputStream.java:1367)
    at org.apache.hadoop.hdfs.DFSOutputStream$DataStreamer.nextBlockOutputStream(DFSOutputStream.java:1272)
    at org.apache.hadoop.hdfs.DFSOutputStream$DataStreamer.run(DFSOutputStream.java:525)
15/11/30 02:54:40 INFO hdfs.DFSClient: Abandoning BP-342182973-10.0.1.190-1448834909392:blk_1073741851_1028
15/11/30 02:54:40 INFO hdfs.DFSClient: Excluding datanode 10.0.1.193:50010

1 个答案:

答案 0 :(得分:0)

看起来防火墙阻止了数据节点的流量。在datanode计算机上打开以下端口(在您的情况下为10.0.0.193)。

-A INPUT -p tcp -m state --state NEW -m tcp --dport 50010 -m comment --comment "Port 50010  datanode" -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 50020 -m comment --comment "Port 50020  datanode" -j ACCEPT