2013-10-17 2 views
7

일부 온라인 자습서를 따른 후 Hadoop에서 WordCount 예제를 실행하려고합니다. 그러나 다음 명령을 실행할 때 파일이 우리의 로컬 파일 시스템에서 HDFS로 복사되는 위치가 무엇인지 명확하지 않습니다.Hadoop의 HDFS 위치 란 무엇입니까?

hadoop fs -copyFromLocal /host/tut/python-tutorial.pdf /usr/local/myhadoop-tmp/ 

다음 명령을 실행하면 python-tutorial.pdf가 여기 HDFS에 나열되지 않습니다.

hadoop fs -ls 

이것은 혼란 스럽습니다. core-site.xml에 이미 "myhadoop-tmp"디렉토리를 지정했습니다. 나는이 디렉토리가 모든 입력 파일을 저장하기위한 HDFS 디렉토리가 될 것이라고 생각했다.

core-site.xml 
============= 
<property> 
    <name>hadoop.tmp.dir</name> 
    <value>/usr/local/myhadoop-tmp</value> 
    <description>A base for other temporary directories.</description> 
</property> 

내 컴퓨터에 HDFS가있는 경우가 아닌 경우? HDFS 디렉토리를 결정하는 구성은 무엇이며 입력 파일을 로컬 파일 시스템에서 HDFS로 복사 할 때 입력 파일의 위치는 어디입니까?

+0

hadoop fs -ls/usr/local/myhadoop-tmp /'를 사용해 보셨습니까? – cabad

+0

차가움. 그것은 나를 위해 일했다. 지금 내 파일을 볼 수 있습니다. 지도 해줘서 고마워. – user2325154

+0

음, 제 대답이 당신의 질문에 답해줍니다. 그래서 받아 들여야합니다. – cabad

답변

6

이 속성은 dfs.datanode.data.dir 속성에서 설정되며, 기본값은 file://${hadoop.tmp.dir}/dfs/data입니다 (세부 정보는 here 참조).

그러나 귀하의 경우 문제는 전체 경로 HDFS 내에 사용하지 않는 것입니다. 대신, :

hadoop fs -ls /usr/local/myhadoop-tmp/ 

또한 HDFS 내의 경로가 로컬 파일 시스템의 경로와 혼동하는 것처럼 보입니다. HDFS에서 파일은 /usr/local/myhadoop-tmp/입니다. 로컬 시스템에서 (그리고 설정을 지정하면) /usr/local/myhadoop-tmp/dfs/data/; 여기에는 HDFS에서 정의한 디렉토리 구조와 명명 규칙이 있습니다.이 규칙은 HDFS의 어떤 경로와도 독립적입니다. 또한 블록으로 분할되어 각 블록에 고유 ID가 할당되므로 동일한 이름을 갖지 않습니다. 블록 이름은 blk_1073741826과 같습니다.

결론 : 데이터 노드가 사용하는 로컬 경로는 HDFS에서 사용하는 경로와 다릅니다. HDFS 메타 데이터 관리를 엉망으로 만들 수 있기 때문에 파일을 찾는 로컬 디렉토리로 이동할 수 있지만 그렇게해서는 안됩니다. hadoop 명령 줄 도구를 사용하여 HDFS 내의 파일을 복사/이동/읽기하고 HDFS에서 사용하려는 논리 경로를 사용하십시오. HDFS 내의 이러한 경로는 로컬 데이터 노드 스토리지에 사용 된 경로에 묶일 필요가 없습니다 (이 작업을 수행 할 이유가 없습니다).

+0

지금은 파일을 볼 수 있지만 직접/usr/local/myhadoop-tmp 디렉토리에 저장되어 있고/usr/local/myhadoop-tmp/dfs/data에는 저장되어 있지 않습니다. 나는 왜 그런지 이해하지 못합니다. 이것은 내가 본 것입니다 : -rw-r-r-- 1 chandeln supergroup 9322974 2013-10-17 17:06 /usr/local/myhadoop-tmp/python-tutorial.pdf – user2325154

+0

그래서 나는 볼 수 없다는 것을 의미합니다/usr/local/myhadoop-tmp/dfs/data/디렉토리에 가서 ls -l 명령을 실행하면 로컬 파일 시스템에있는 파일을 볼 수 있습니까? – user2325154

+0

@ user2325154 좀 더 자세한 설명을 추가했습니다. – cabad

관련 문제