2010-03-01 4 views
24

Hadoop은 설정 매개 변수 hadoop.tmp.dir을 가지고 있습니다. 설명서마다 ''다른 임시 디렉토리의 기본입니다. "이 경로는 로컬 파일 시스템을 참조합니다.hadoop.tmp.dir은 무엇이되어야합니까?

이 값을 /mnt/hadoop-tmp/hadoop-${user.name}으로 설정했습니다. namenode를 포맷하고 모든 서비스를 시작한 후에는 HDFS에서 생성 된 경로와 정확히 일치합니다.

즉, hadoop.tmp.dir의 임시 위치를 나타냅니다. HDFS?

+0

로컬 파일 시스템 경로를 지정하는 것이 확실합니다. 왜 작동하지 않는지 확실하지 않습니다. – skaffman

답변

31

그것은 혼란입니다. (특히 을/mnt은/var/lib 디렉토리/하둡/DFS /. 그래서, 당신은 많은 데이터를 쓸 수 있습니다 그것에 을/mnt 아래에 장착되어 있지만, hadoop.tmp.dir는 기본으로 사용됩니다 임시 디렉토리 로컬, 또한 HDFS에서을 위해.이 문서는 큰 아니지만, mapred.system.dir"${hadoop.tmp.dir}/mapred/system" 기본적으로 설정되어 있으며, 이것은 HDFS에 경로를 정의하는 곳 어디지도/프레임 워크를 저장에게 시스템 파일을 줄일 수 있습니다.

함께 묶지 않으려면 , 당신은 편집 할 수 있습니다 mapred-site.xml 같은 mapred.system.dir의 정의는 ${hadoop.tmp.dir}

+2

Hadoop 1.2.1에 대한 ** hadoop.tmp.dir **의 기본 경로는 무엇입니까? – chenzhongpu

+0

@ChenZhongPu는 core-site.xml에 언급되어 있습니다. – user1207289

3

이 정보에 대한 둘러보기가 있습니다. 내가 가지고 올 수있는 유일한 것은 Amazon Elastic MapReduce Dev Guide에이 게시물을했다 :

는 하둡에 site.xml에서, 우리는 을/mnt은/var/lib 디렉토리/하둡/tmp로 hadoop.tmp.dir을 설정합니다./mnt는 보다 많은 데이터를 포함 할 수있는 "추가"EC2 볼륨 인 을 기본 볼륨으로 탑재합니다. (정확한 금액 는 인스턴스 유형에 따라 달라집니다.) 하둡의 RunJar.java 하둡 파일 시스템으로 hadoop.tmp.dir 해석 경로를 오히려 로컬 경로보다 ( 입력 JAR 파일을 압축을 풉니 모듈), 그래서 쓰기를 로컬 경로 대신 HDFS의 경로에 추가합니다. HDFS는

25

에 묶여 있지 뭔가 나를 kkrugler의 대답에 조금 더 추가하자입니다 :

hadoop.tmp.dir를 포함하는 세 가지 HDFS 특성이있어이 값에서

  1. dfs.name.dir : namenode가 메타 데이터를 저장하는 디렉토리이며 기본값은 ${hadoop.tmp.dir}/dfs/name입니다.
  2. dfs.data.dir : HDFS 데이터 블록이 저장되는 디렉토리이며 기본값은 ${hadoop.tmp.dir}/dfs/data입니다.
  3. fs.checkpoint.dir : 보조 namenode가 검사 점을 저장하는 디렉토리의 기본값은 ${hadoop.tmp.dir}/dfs/namesecondary입니다.

이 때문에 네임 노드를 포맷 한 후 HDFS에서 /mnt/hadoop-tmp/hadoop-${user.name}을 본 이유입니다.

관련 문제