Java程序读写HDFS报错:No FileSystem for scheme: hdfs

在使用java程序对hdfs文件系统进行读取的时候,应该确保是一个hadoop job程序

否则的话需要导入hadoop-hdfs的依赖,会出现这个问题。

在maven中配置hadoop-hdfs即可。

Java程序读写HDFS报错:No FileSystem for scheme: hdfs_第1张图片

 

说明:虽然普通的java程序运行会报错,但是可以打包成jar文件,然后再hadoop上运行是可以正常执行的。

另外可以把读写的代码

conf.set("fs.defaultFS", "hdfs://localhost:9000");

修改成

conf.set("fs.hdfs.impl", "org.apache.hadoop.hdfs.DistributedFileSystem");

这样不会出错,但是mapreduce 不能再hdfs上执行,可以在本地执行,得到的结果相同。(注意文件名在本地创建)

 

你可能感兴趣的:(hadoop,大数据)