[HADOOP] "잘못된 FS ... 예상 : file : ///"Java에서 HDFS에서 파일을 읽으려고 할 때
HADOOP"잘못된 FS ... 예상 : file : ///"Java에서 HDFS에서 파일을 읽으려고 할 때
Java를 사용하여 HDFS에서 파일을 읽을 수 없습니다.
String hdfsUrl = "hdfs://<ip>:<port>";
Configuration configuration = new Configuration();
configuration.set("fs.defaultFS", hdfsUrl);
FileSystem fs = FileSystem.get(configuration);
Path filePath = new Path(hdfsUrl + "/projects/harmonizome/data/achilles/attribute_list_entries.txt.gz");
FSDataInputStream fsDataInputStream = fs.open(filePath);
SEVERE: Servlet.service() for servlet [edu.mssm.pharm.maayanlab.Harmonizome.api.DownloadAPI] in context with path [/Harmonizome] threw exception
java.lang.IllegalArgumentException: Wrong FS: hdfs://146.203.54.165:8020/projects/harmonizome/data/achilles/attribute_list_entries.txt.gz, 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 edu.mssm.pharm.maayanlab.Harmonizome.api.DownloadAPI.readLines(DownloadAPI.java:37)
at edu.mssm.pharm.maayanlab.Harmonizome.api.DownloadAPI.doGet(DownloadAPI.java:27)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:622)
...
나는 HDFS를 설정하지 않았으므로 내가 모르는 것을 모른다. 어떤 도움을 주셔서 감사합니다.
해결법
-
==============================
1.이 시도:
이 시도:
Configuration configuration = new Configuration(); FileSystem fs = FileSystem.get(new URI(<url:port>), configuration); Path filePath = new Path(<path/to/file>); FSDataInputStream fsDataInputStream = fs.open(filePath); BufferedReader br = new BufferedReader(new InputStreamReader(fsDataInputStream));
http://techidiocy.com/java-lang-illegalargumentexception-wrong-fs-expected-file/를 참조하십시오.
비슷한 문제가 해결되었습니다.
from https://stackoverflow.com/questions/32078441/wrong-fs-expected-file-when-trying-to-read-file-from-hdfs-in-java by cc-by-sa and MIT license
'HADOOP' 카테고리의 다른 글
[HADOOP] 스파크 조인에서 테이블 주문은 돼지처럼 중요합니까? (0) | 2019.06.27 |
---|---|
[HADOOP] YarnException : 허가받지 않은 컨테이너 시작 요청 (0) | 2019.06.27 |
[HADOOP] 하둡의 분산 캐시에 대한 혼란 (0) | 2019.06.27 |
[HADOOP] Apache Pig에서 SequenceFile에 데이터 저장 (0) | 2019.06.27 |
[HADOOP] 스파크 SQL은 다수의 파편이있는 쪽매 데이터 작성을 완료 할 수 없습니다. (0) | 2019.06.27 |