我有一个 hadoop 集群,有 1 个 master(运行 namenode 和 jobtracker)和 2 个 slave(每个运行 datanode 和 tasktracker)。现在每当我执行
hadoop fs -put localfile /user/root/tmp/input
对于 4-8 GB 的数据,该命令可以完美执行。
但是当我将数据增加到 30GB 时,其中一个奴隶死了。正如我得到一个 java.io.noRouteToHost 异常并且命令退出失败。我立即对那个从站进行了 ping 操作,发现甚至以太网连接都断开了。所以我必须手动做
ifup eth0
在该从站上重新启动主机。我无法在这里找出问题所在。我还更改了以下属性
dfs.socket.timeout, for read timeout
dfs.datanode.socket.write.timeout, for write timeout
我将读取超时增加到 600000 并将写入超时更改为 0 以使其无穷大。请有任何建议。我已经坚持了几天