上传文件时显示:File /itcast/anaconda-ks.cfg._COPYING_ could only be written to 0 of the 1 minReplication node
#本来想上传文件,结果出错
hadoop fs -put anaconda-ks.cfg /itcast
#结果提示:
File /itcast/anaconda-ks.cfg._COPYING_ could only be written to 0 of the 1 minReplication node
输入jps检查java进程,发现没有datanode,这是因为之前进行了两次的format格式化
多次format除了造成数据丢失外,还会导致hdfs集群主从角色之间互不识别。通过删除所有机器hadoop.tmp.dir目录重新format解决
具体方法:
1、先关闭Hadoop(stop-all.sh),再找到hadoop.tmp.dir目录
#转到Hadoop目录
cd /export/server/hadoop-3.3.0/etc/hadoop
#编辑core-site.xml
vim core-site.xml
#结果,value中的值就是hadoop.tmp.dir保存文件的地址
<property>
<name>hadoop.tmp.dir</name>
<value>/export/data/hadoop-3.3.0</value>
</property>
2、删除/export/data/hadoop-3.3.0中的文件
rm -rf /export/data/hadoop-3.3.0
3、删除日志、缓存文件
rm -rf logs tmp
4、重新格式化
hadoop namenode -format
5、输入jps查看Java进程中是否有datanode,如果有则说明成功,即可再次进行上传文件