在利用Java API与HDFS进行交互时,用eclipse运行下面代码:
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;
public class HDFSFileIfExist {
public static void main(String[] args){
try{
String fileName = "test";
Configuration conf = new Configuration();
conf.set("fs.defaultFS", "hdfs://localhost:9000");
conf.set("fs.hdfs.impl", "org.apache.hadoop.hdfs.DistributedFileSystem");
FileSystem fs = FileSystem.get(conf);
if(fs.exists(new Path(fileName))){
System.out.println("文件存在");
}else{
System.out.println("文件不存在");
}
}catch (Exception e){
e.printStackTrace();
}
}
}
出现了很长一串的报错,提示拒绝连接,如下图:
在网上找了很多教程,但是都未解决,不知道问题出在了哪里,为此困扰了一下午。
求助万能的朋友圈之后,才发现应将代码中的“localhost”改成虚拟机的节点名称,于我就是master,报错解决,耶!