Hadoop上传文件报错could only be written to 0 of the 1 minReplication nodes.

报错:org.apache.hadoop.ipc.RemoteException(java.io.IOException): File /home/navy/files/yc.txt could only be written to 0 of the 1 minReplication nodes. There are 0 datanode(s) running and no node(s) are excluded in this operation.

 

搭建好平台后,通过java代码或使用hadoop fs -put向hadoop中上传文件时,报以上错误。报错信息大概的意思是节点没有启动,但是使用jps又能查看到节点信息,如下图所示。

Hadoop上传文件报错could only be written to 0 of the 1 minReplication nodes._第1张图片

 

使用hadoop dfsadmin -report命令查看磁盘使用情况,发现都是空的。如下图所示。
 

Hadoop上传文件报错could only be written to 0 of the 1 minReplication nodes._第2张图片



这个问题一般是由于使用hadoop namenode -format 格式化多次,导致spaceID不一致造成的,解决方法如下:

1、 停止集群所有的服务。指令为:stop-all.sh
2、删除hdfs中配置的data目录下的所有文件(级core-site.xml中配置的hadoop.tmp.dir)。指令为:rm -rf /home/navy/tmp/*
3、重新格式化namenode。指令为:hadoop namenode -format
4、重新启动hadoop集群。指令为:start-all.sh

再使用hadoop dfsadmin -report查看时,显示如下信息:

Hadoop上传文件报错could only be written to 0 of the 1 minReplication nodes._第3张图片



到此,问题应该就解决了。
 

你可能感兴趣的:(hadoop,hadoop,hdfs)