Hadoop:错误 BlockSender.sendChunks() 异常

Hadoop: ERROR BlockSender.sendChunks() exception

我有一个使用 Hadoop 的集群(一个 master 作为 namenode 和 datanode,还有两个 slave)。我在日志文件中看到了这些错误消息:

hadoop-hduser-datanode-master.log 文件:

2017-05-15 13:02:55,303 ERROR org.apache.hadoop.hdfs.server.datanode.DataNode: BlockSender.sendChunks() exception: 
java.io.IOException: Tubería rota
at sun.nio.ch.FileChannelImpl.transferTo0(Native Method)
at sun.nio.ch.FileChannelImpl.transferToDirectlyInternal(FileChannelImpl.java:428)
at sun.nio.ch.FileChannelImpl.transferToDirectly(FileChannelImpl.java:493)
at sun.nio.ch.FileChannelImpl.transferTo(FileChannelImpl.java:608)
at org.apache.hadoop.net.SocketOutputStream.transferToFully(SocketOutputStream.java:223)
at org.apache.hadoop.hdfs.server.datanode.BlockSender.sendPacket(BlockSender.java:570)
at org.apache.hadoop.hdfs.server.datanode.BlockSender.sendBlock(BlockSender.java:739)
at org.apache.hadoop.hdfs.server.datanode.DataXceiver.readBlock(DataXceiver.java:527)
at org.apache.hadoop.hdfs.protocol.datatransfer.Receiver.opReadBlock(Receiver.java:116)
at org.apache.hadoop.hdfs.protocol.datatransfer.Receiver.processOp(Receiver.java:71)
at org.apache.hadoop.hdfs.server.datanode.DataXceiver.run(DataXceiver.java:239)
at java.lang.Thread.run(Thread.java:748)

这只发生在主节点,在一段时间不活动之后。十五分钟前,我运行一个wordcount例子成功了。

每个节点中的OS是Ubuntu16.04。集群是使用 VirtualBox 创建的。

你能帮帮我吗?

我关注了这个link: https://hortonworks.com/blog/how-to-plan-and-configure-yarn-in-hdp-2-0/ 配置一些关于内存的参数,我的问题就解决了!

注意:在一些帖子中,我读到此错误可能是由于缺少磁盘 space(在我的情况下不是),而在其他情况下,原因是 SO 的版本(他们建议降级 Ubuntu 16.04 至 14.04)。