hadoop程序問題:java.lang.IllegalArgumentException: Wrong FS: hdfs:/ expected file:///


Java代碼如下:

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

拋出異常如下:

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

解決方案:

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


因為是訪問遠程的HDFS 需要通過URI來獲得FileSystem.


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM