org.apache.hadoop.ipc.RemoteException(java.io.IOException): File /kms.sh._COPYING_ could only be replicated to 0 nodes instead of minReplication (=1). There are 0 datanode(s) running and no node(s) are excluded in this operation.
在 put kms.sh文件来hdfs文件系统时,报出来的。但今天不再是因为防火墙未关闭造成的,而是因为我在hdfs-site.xml里面的
dfs.datanode.data.dir
/tmp/hdfs_tmp
与core-site.xml里面的
hadoop.tmp.dir
/tmp/hdfs_tmp
两个配置应该是指向同一个目录地址,而且必须是一个已经存在的linux目录(不存在目录的话,在启动hadoop时,必须手动创建,否则put文件到hdfs系统时就会报错),今天报这个错就是因为两个配置没有指向同一个目录地址,且两个地址还不存在对应的目录
hdfs-site.xml
<!-- 配置datanode的工作目录:重要,如果不配置可能会出现_COPYING_ could only be replicated to 0 nodes instead of minReplication (=1).-->
<property>
<name>dfs.datanode.data.dir</name>
<value>/root/hadoop_tmp</value>
</property>