我有一个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,使其变为无穷大。请任何建议。我已经坚持了几天
最佳答案
尝试使用“distCp”复制大数据。
关于hadoop - 执行hadoop fs -put命令时,Datanode,tasktracker死亡,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13152540/