执行命令
hdfs dfs -put etc/hadoop/* input
报错
hdfs.DFSClient: DataStreamer Exception
org.apache.hadoop.ipc.RemoteException(java.io.IOException): File /user/hadoop/input/httpfs-site.xml._COPYING_ could only be replicated to 0 nodes instead of minReplication (=1). There are 1 datanode(s) running and 1 node(s) are excluded in this operation.
at org.apache.hadoop.hdfs.server.blockmanagement.BlockManager.chooseTarget4NewBlock(BlockManager.java:1547)
at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.getNewBlockTargets(FSNamesystem.java:3107)
at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.getAdditionalBlock(FSNamesystem.java:3031)
按照网上的方法解决不了问题
在hdfs-site.xml 需要加上,并重启 stop-all.sh、start-all.sh
<property>
<name>dfs.datanode.use.datanode.hostname</name>
<value>true</value>
</property>
另外网上也有讲防火墙问题的,对我来讲不存在防火墙问题, 但是文件确实写入了
不影响使用
我的理解可能是因为我从别的机器整体copy过来的, 原来的机器的blockId是带上原机器的ip的
这个ip我试图修改成本机的ip,包括BlockId一并修改的,但是不行, 仍然在找旧的ip