could only be replicated to 0 nodes,instead of 1

错误:Error Recovery for block null bad datenode[0] nodes==null

             ......

           copyFromLocal:java.io.IOException:File...could only be replicated to 0 nodes,instead of 1

我执行了下面几个指令:

hadoop fs -lsr /                 查看hadoop 的根目录,没有发生错误

hadoop fs -mkdir test       创建一个目录,也没有错误

hadoop fs -rmr 1.txt          删除一个文件,也没有错误

hadoop fs -copyFromLocal 1.txt /     复制本地文件1.txt 到hadoop 根目录下,这个就报上面的错误

分析:

可以创建目录,可以查看文件,可以删除文件,但是就是不能放数据,说明namenode没有问题,肯定是datenode有问题,0个节点,我又分以下检测datenode

1.查看slaves文件中是否记录了datenode

2.查看防火墙是否关闭

发现,防火墙没有关闭,前面由于,datenode重启后,然后,防火墙自动启动,可以把防火墙的开机自动启动关闭,通过chekconfig --levle iptabls来设置。

原文地址:https://www.cnblogs.com/robert-blue/p/4137273.html