报错: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 dfsadmin -report命令查看磁盘使用情况,发现都是空的。如下图所示。
这个问题一般是由于使用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查看时,显示如下信息:
到此,问题应该就解决了。
注意:本文归作者所有,未经作者允许,不得转载