hadoop-en.sh 설정


hadoop-env.sh 파일에는 Hadoop의 스크립트에서 쓰이는 여러가지 환경 변수가 들어 있다.

메모리 영역 설정



HADOOP_HEAPSIZE와 자식 태스크 설정


기본적으로 하둡은 데몬당 1GB 할당한다.
즉, 마스터 노드의 경우 네임노드 데몬, 보조 네임노드 데몬, 잡트레커 데몬 총 3Gb 가 필요하다.
WorkNode 의 경우에는 아래와 같다.

Worker Node
 

worker Node 로 사용되는 컴퓨터에서는 태스크 트래커와 데이터 노드 태스크 데몬이 실행된다.

태스크 트래커 노드
태스크 트래커로 사용되는 노드의 경우 맵과 리듀스 테스크가 사용할 메모리가 있다.
기본적값으로  맵과 리듀스 태스크가 각각 2개의 자식 JVM 으로 동작한다. 

태스크 크래커 : 1 GB
맵태스크 : 200 MB * 2
리듀스 태스크 : 200 MB * 2

데이터 노드 태스크
데이터 노드 : 1GB


총 2.8 GB

전 포스팅인 'Hadoop 클러스터 구성( http://tawool.tistory.com/281) 에서는  이 부분을 조절했다. 

그 외 맵태스크와 리듀스 태스크의 숫자 조절은 아래 파라미터로 설정 가능하다. 프로세스가 8개라면 하나는 데이터노드와 태스크 트래커가 1개의 슬롯을 점유하기 때문에 7개가 할당 가능하다.


mapred.tasktracker.map.tasks.maximum 

리듀스
mapred.tasktracker.reduce.tasks.maximum


mapred-site.xml 
<property>
    <name>mapred.child.java.opts</name>
    <value>-Xmx200m</value>
  </property> 
<property>
    <name>mapred.tasktracker.map.tasks.maximum</name>
    <value>2</value>
</property>  
<property>
    <name>mapred.tasktracker.reduce.tasks.maximum</name>
    <value>2</value>
</property>  





Tip
만약 8개의 프로세서가 장착된 pc 라면 맵과 리듀스 태스크를 '프로세서 개수 - 1'  정도로 설정한다. 즉 7 * 200 하지만 I/O 의 성능에 의해 제약이 있으므로 많은 프로세스보다 태스크를  프로세서보다 하나나 둘 정도 더 많이 갖는 것이 낫다.
(출처 : Hadoop 완벽 가이드)















참고


'빅데이터' 카테고리의 다른 글

Hadoop Deprecated Properties  (0) 2012.05.29
관리 도구  (0) 2012.05.29
Hadoop Master Node  (0) 2012.05.28
Hadoop 클러스터 구성 &  (2) 2012.05.28
CDH3 Installation  (0) 2012.05.20