将~/.bashrc文件上传到HDFS的test文件夹的时候出现put: File /user/hadoop/test/.bashrc._COPYING_ could only be written to 0 of the 1 minReplication nodes. There are 0 datanode(s) running and 0 node(s) are excluded in this operation.
原因:
hadoop找不到DataNode,DataNode 没有启动
解决:
如下的方法(注意这会删除 HDFS 中原有的所有数据,如果原有的数据很重要请不要这样做):
# 针对 DataNode 没法启动的解决方法
cd /usr/local/hadoop
./sbin/stop-dfs.sh # 关闭
rm -r ./tmp # 删除 tmp 文件,注意这会删除 HDFS 中原有的所有数据
./bin/hdfs namenode -format # 重新格式化 NameNode
./sbin/start-dfs.sh # 重启
启动完成后,可以通过命令 jps 来判断是否成功启动,若成功启动则会列出如下进程: "NameNode"、"DataNode" 和 "SecondaryNameNode"(如果 SecondaryNameNode 没有启动,运行 sbin/stop-dfs.sh 关闭进程,然后再次尝试启动尝试)。如果没有 NameNode 或 DataNode ,那就是配置不成功,检查之前步骤,或通过查看启动日志排查原因。
结果:运行命令之后成功将文件上传。