您的位置:首页 > 编程语言 > Java开发

hadoop程序问题:java.lang.IllegalArgumentException: Wrong FS: hdfs:/ expected file:///

2015-03-26 18:13 507 查看
Java代码如下:

FileSystem fs = FileSystem.get(conf);
in = fs.open(new Path("hdfs://192.168.130.54:19000/user/hmail/output/part-00000"));

抛出异常如下:

Exception in thread "main" java.lang.IllegalArgumentException: Wrong FS: hdfs://192.168.130.54:19000/user/hmail/output/part-00000, expected: file:/// 
at org.apache.hadoop.fs.FileSystem.checkPath(FileSystem.java:310)
at org.apache.hadoop.fs.RawLocalFileSystem.pathToFile(RawLocalFileSystem.java:47)
at org.apache.hadoop.fs.RawLocalFileSystem.getFileStatus(RawLocalFileSystem.java:357)
at org.apache.hadoop.fs.FilterFileSystem.getFileStatus(FilterFileSystem.java:245)
at org.apache.hadoop.fs.ChecksumFileSystem$ChecksumFSInputChecker.<init>(ChecksumFileSystem.java:125)
at org.apache.hadoop.fs.ChecksumFileSystem.open(ChecksumFileSystem.java:283)
at org.apache.hadoop.fs.FileSystem.open(FileSystem.java:356)
at com.netease.hadoop.HDFSCatWithAPI.main(HDFSCatWithAPI.java:23)

解决方案:

hadoop需要把集群上的core-site.xml和hdfs-site.xml放到当前工程下。eclipse工作目录的bin文件夹下面

因为是访问远程的HDFS 需要通过URI来获得FileSystem.

源:http://hpuxtbjvip0.blog.163.com/blog/static/3674131320133884826346/
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐