java-hdfs-client上传文件报错:......replicated to 0 nodes instead of minReplication (=1)....

使用java的hdfs-client上传文件的时候报下面的错误

Exception in thread "main" org.apache.hadoop.ipc.RemoteException(java.io.IOException): File /javaTest/bus.html could only be replicated to 0 nodes instead of minReplication (=1).  There are 3 datanode(s) running and 3 node(s) are excluded in this operation.

简单分析一下

我使用的是阿里云的ECS搭建的hadoop集群,ECS内部使用的私有IP只有集群内部能通信,而外部访问ECS只能使用公网IP。

解决

修改hosts文件,把你的datanode的主机名和公有IP加进去

#windows 
#C:\Windows\System32\drivers\etc
# 添加代码
conf.set("dfs.client.use.datanode.hostname", "true");

你可能感兴趣的:(hadoop)