问题描述
今天笔者在使用Hadoop时,调用copyFromLocalFile方法上传本地文件到HDFS时java.io.FileNotFoundException File /xxx/xxx.txt does not exist问题,代码如下:
/**
* 上传本地文件到HDFS
* */
@Test
public void copyFromLocalFile() throws Exception {
System.out.println("********上传本地文件到HDFS********");
Path src = new Path("/home/hadoop/data/book.txt");
Path dist = new Path("/hdfsapi/test/");
fileSystem.copyFromLocalFile(src,dist);
}
但是运行就出现下面的情况:
java.io.FileNotFoundException File /home/hadoop/data/book.txt does not exist
由于笔者是在CentOS机器上安装的Hadoop伪集群,因此这里配置本地文件路径为/home/hadoop/data/book.txt
,而且确认CentOS机器上是存在上述文件的。
问题解决
后来我一想,这个是文件找不到,难道是权限问题,给hadoop用户这个文件777权限,发现依旧没问题。突然我想起来了,我这个代码是在Window系统上写的,且通过ssh连接到的CentOS机器,那