[HADOOP] Hadoop : core-site.xml에서 기본 FileSystem을 HDFS로 설정할 수 없습니다.
HADOOPHadoop : core-site.xml에서 기본 FileSystem을 HDFS로 설정할 수 없습니다.
나는 Pseudo-Distributed 모드에서 Hadoop 1.0.3을 사용하고 있습니다. 그리고 conf / core-site.xml은 다음과 같이 설정됩니다.
<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://localhost:9000</value>
</property>
<property>
<name>mapred.child.tmp</name>
<value>/home/administrator/hadoop/temp</value>
</property>
</configuration>
그래서 저는 기본 파일 시스템이 HDFS로 설정되어 있다고 믿었습니다. 그러나 다음 코드를 실행할 때 :
Configuration conf = new Configuration();
FileSystem fs = FileSystem.get(conf);
나는 fs가 DistributedFileSystem 인스턴스 여야한다고 생각했다. 그러나 LocalFileSystem 인스턴스로 판명되었습니다.
하지만, 다음 코드를 실행하면 :
Configuration conf = new Configuration();
conf.set("fs.default.name", "hdfs://localhost:9000");
FileSystem fs = FileSystem.get(conf);
그런 다음 DistributedFileSystem fs를 얻을 수 있습니다.
core-site.xml에서 내 기본 FileSystem을 HDFS로 설정하지 않았습니까? 그렇지 않다면 어떻게 설정해야합니까?
해결법
-
==============================
1.이클립스 환경은 Hadoop의 conf 디렉토리가 core-default.xml과 core-site.xml을 찾기 위해 디렉토리를 설치할 위치를 알지 못한다.
이클립스 환경은 Hadoop의 conf 디렉토리가 core-default.xml과 core-site.xml을 찾기 위해 디렉토리를 설치할 위치를 알지 못한다.
이것들은 Eclipse 클래스 패스에 추가되지 않기 때문에 기본 core-site.xml은 jar 파일 hadoop - * - core.jar (예 : hadoop-0.20.2-core.jar 버전 0.20)에서로드됩니다. 로컬 시스템이 기본 파일 시스템이므로 DistributedFileSystem 대신 LocalFileSystem 객체가 표시됩니다.
따라서 프로젝트의 클래스 경로를 eclipse 프로젝트 디렉토리에 추가하려면 프로젝트 속성 (프로젝트 -> 속성) -> Java 빌드 경로 -> 라이브러리 탭 -> 외부 클래스 폴더 추가 ->
> 위의 코드는`/core-site.xml '을 Eclipse 클래스 패스에 추가해야하며 모든 설정이 기본 설정보다 우선해야합니다.
from https://stackoverflow.com/questions/16711665/hadoop-cannot-set-default-filesystem-as-hdfs-in-core-site-xml by cc-by-sa and MIT license
'HADOOP' 카테고리의 다른 글
[HADOOP] Hadoop 유출 실패 (0) | 2019.07.27 |
---|---|
[HADOOP] 돼지 라틴어를 사용하여 열을 "업데이트하는 방법" (0) | 2019.07.27 |
[HADOOP] Hadoop 매퍼가 여러 개의 키를 출력 할 수 있습니까? (0) | 2019.07.27 |
[HADOOP] Hadoop 및 Bash : 파일 이름 일치 범위 삭제 (0) | 2019.07.27 |
[HADOOP] hadoop은 어떻게 입력 파일을 읽습니까? (0) | 2019.07.27 |