복붙노트

[HADOOP] 인덱스 7에서 권한에 잘못된 문자 : HDFS : // localhost를 : 9000 하둡과

HADOOP

인덱스 7에서 권한에 잘못된 문자 : HDFS : // localhost를 : 9000 하둡과

나는 HDFS에 연결하려합니다.

Configuration configuration = new Configuration();
configuration.set("fs.default.name", this.hdfsHost);
fs = FileSystem.get(configuration);

hdfsHost는 127.0.0.1:9000이다.

하지만) (FileSystem.get에서이 예외를 얻을;

나는 동일한 코드를 실행하는 다른 프로젝트를 가지고 있지만, 잘 작동합니다. 사람이 어떤 제안을 줄 수 있을까요? 정말 감사합니다

예외 트랙 :

Exception in thread "main" java.lang.IllegalArgumentException
at java.net.URI.create(URI.java:842)
at org.apache.hadoop.fs.FileSystem.getDefaultUri(FileSystem.java:103)
at org.apache.hadoop.fs.FileSystem.get(FileSystem.java:95)
at TransferToHadoop.TransferFiles.<init>(TransferFiles.java:50)             
at.TransferToHadoop.ScheduleTransferJobs.getTransferFiles(ScheduleTransferJobs.java:99)
at .TransferToHadoop.ScheduleTransferJobs.main(ScheduleTransferJobs.java:30)
 Caused by: java.net.URISyntaxException: Illegal character in authority at index 7: hdfs://localhost:9000  
at java.net.URI$Parser.fail(URI.java:2809)
at java.net.URI$Parser.parseAuthority(URI.java:3147)
at java.net.URI$Parser.parseHierarchical(URI.java:3058)
at java.net.URI$Parser.parse(URI.java:3014)
at java.net.URI.<init>(URI.java:578)
at java.net.URI.create(URI.java:840)
... 5 more

해결법

  1. ==============================

    1.자격을 갖춘 URL을 HDFS로 hdfsHost을 통과하십시오 : //127.0.0.1 : 9000 대신 127.0.0.1:9000

    자격을 갖춘 URL을 HDFS로 hdfsHost을 통과하십시오 : //127.0.0.1 : 9000 대신 127.0.0.1:9000

  2. ==============================

    2.HDFS 이름 (fs.defaultFS)에 대한 속성 값에 대한 코어를 site.xml의 공간을 후행가있는 경우에 발생할 수 있습니다.

    HDFS 이름 (fs.defaultFS)에 대한 속성 값에 대한 코어를 site.xml의 공간을 후행가있는 경우에 발생할 수 있습니다.

  3. ==============================

    3./ etc / hosts 파일에서 클라이언트와 서버의 서버 즉 모두에서 해당 IP와 호스트 이름을 바인딩

    / etc / hosts 파일에서 클라이언트와 서버의 서버 즉 모두에서 해당 IP와 호스트 이름을 바인딩

  4. from https://stackoverflow.com/questions/8528827/illegal-character-in-authority-at-index-7-hdfs-localhost9000-with-hadoop by cc-by-sa and MIT license